2017-11-20 16 views
0

現在、私の管理者には、管理ユーザーが作成してから「女性」インターフェースに入り、抜粋を添付できる抜粋がたくさんあります。抜粋を作成して関係を作成するために「女性」インターフェースに入るのではなく、抜粋がどの女性を選択できるのか、抜粋管理に選択フィールドを追加することは可能ですか?Djangoは管理インターフェースで関連フィールドを追加します

class Excerpt(models.Model): 
    extract = models.CharField(max_length=2000, null=True, blank=True) 
    audio_url = models.IntegerField(null=True, blank=True) 
    start_time = models.IntegerField(null=True, blank=True) 
    end_time = models.IntegerField(null=True, blank=True) 
    def __unicode__(self): 
     return self.extract 

class Women(models.Model): 
    name = models.CharField(max_length=100) 
    location = models.ForeignKey(Location, null=True, blank=True) 
    excerpt = models.ManyToManyField(Excerpt, blank=True) 
+0

1つの抜粋に複数の女性が関連付けられていますか?女性は複数の抜粋を持つことができますが、逆のことはできないように思われるので、女性と抜粋モデルとの間の外来的な関係の船を探しています。 – scharette

+0

@scharette良い点。それは理にかなっています。 – byrdr

答えて

2

を追加

class ExcerptInline(admin.TabularInline): 
    model = Women.excerpt.through 
    extra = 0 
    show_change_link = True 

    def has_add_permission(self, request, obj=None): 
     return True 


class ExcerptAdmin(admin.ModelAdmin): 
    list_display = ['start_time', 'end_time'] 
    inlines = [ExcerptInline] 

class WomenAdmin(admin.ModelAdmin): 
    list_display = ['name'] 

抜粋モデルの女性を選択するためのTabularInlineを使用することができますcommen最初にmanytomanyの関係をWomenで削除してから Excerptモデルを少し変更する必要があります。何がやりたいことは

class Excerpt(models.Model): 
    women = models.ForeignKey(Women, ...) 

他の答えが正しいアプローチが、間違って実行していた、そのようなWomenにごExcerptモデルで外部キーを持っている、ここにあなたのケースでインラインを実装するための正しい方法です、

class ExcerptInline(admin.TabularInline): 
    model = Excerpt 


class WomenAdmin(admin.ModelAdmin): 
    inlines = [ExcerptInline] 

あなたが最終的に全部を登録したい、今すぐ

admin.site.register(Women, WomenAdmin) 

、あなたのニーズにすべてをカスタマイズすること自由に感じ、しかし、これらは私の意見であなたが探しているものの基礎です。

0

あなたは最終的にあなたは私が指摘する関係を変える考慮

admin.site.register(Women, WomenAdmin) 
admin.site.register(Excerpt, ExcerptAdmin) 
+0

これは管理者にどのように設定されますか?私は 'MediaDefiningClass'オブジェクトは、iterableエラーではないと思いついています。 – byrdr

+0

admin.site.register(女性、女性管理者) admin.site.register(抜粋、ExcerptAdmin) –

関連する問題