4

これが複雑すぎるか、物事を行うための正しい方法ではない場合は、私を他の何かにリンクするか、別の方法で行う必要があると言ってください...

基本的に、私はクライアントがいて、それぞれに任意の数のWebサイトが接続されているプロジェクトに取り組んでいます。したがって、Webサイトモデルにはクライアントモデルへの外部キーがあります。Webサイトの管理ページはかなり詳細であり、各クライアントには10​​以上のサイトがある可能性があるため、すべてがインラインとして表示されるのは避けたいと思います。

管理パネルに移動して[クライアント]をクリックすると、変更ページが表示され、クライアント用に編集する基本的なものと、各ページへの実際のリンクのインラインが表示されます。クライアントのウェブサイト管理ページ。このような:

クライアントを変更する

全般的

名前:

住所:

電話:

ウェブサイト

ウェブサイト1を編集するためのリンク

ウェブサイト2を編集するためのリンク

ウェブサイト3を編集するためのリンク

ウェブサイト4を編集するためのリンク

ウェブサイト5を編集するためのリンク

4

1 に答える 1

5

TabularInlineモデル変更ページへのリンクのみを含むを使用できます。

class ClientAdmin(admin.ModelAdmin):
    # everything as normal
    inlines = WebsiteInline,

class WebsiteInline(admin.TabularInline):
    model = Website
    fields = 'link',
    readonly_fields = 'link',
    def link(self, instance):
        url = reverse("admin:myapp_website_change", args = (instance.id,))
        return mark_safe("<a href='%s'>%s</a>" % (url, unicode(instance)))

admin.site.register(Client, ClientAdmin)
admin.site.register(Website)

最近の質問を参照してください1つのオブジェクトのDjango管理ページから関連オブジェクトの管理ページへのリンクを追加するにはどうすればよいですか?これは正確にこれを行う方法についてでしたが、1つだけではなく複数のモデルのペアを使用しました。

于 2012-04-11T23:15:59.007 に答える