在方法InlineModelAdmin中可能有三个父子层次结构?

时间:2013-06-20 10:12:24

标签: django django-models django-admin

这是我的管理员:

class StagioneInline(admin.TabularInline):
    model = Stagione
    extra = 1
    inlines = [EpisodioInline]

class TelefilmAdmin( admin.ModelAdmin ):
    fieldsets = [
        ('Telefilm',               {'fields': ['titolo','trama', 'locandina', 'copertina', 'trailer', 'data_inserimento', 'anno', 'attori', 'registi', 'studi', 'umori', 'generi']}),
    ]
    inlines = [StagioneInline]
    filter_horizontal = ['attori', 'registi', 'studi', 'umori', 'generi']

这是我的模特:

class Telefilm( models.Model ):
    titolo = models.CharField( max_length=39 )
    trama = models.TextField( max_length=1000 )
    locandina = models.FilePathField( path="C:/Users/Federico/Google Drive/Umore/apps/Database/static/Film/Locandina", recursive=True )
    copertina = models.FilePathField( path="C:/Users/Federico/Google Drive/Umore/apps/Database/static/Film/Copertina", recursive=True )
    trailer = models.FilePathField( path="C:/Users/Federico/Google Drive/Umore/apps/Database/static/Film/Trailer", recursive=True )
    data_inserimento = models.DateField( null=True, verbose_name="data d'inserimento" )
    anno = models.ForeignKey( Anno )
    attori = models.ManyToManyField( Attore )
    registi = models.ManyToManyField( Regista )
    studi = models.ManyToManyField( Studio )
    umori = models.ManyToManyField( Umore )
    generi = models.ManyToManyField( Genere_Film )
    def __unicode__(self):
        return self.titolo
    class Meta:
        verbose_name_plural = "Telefilms"

class Stagione( models.Model ):
    telefilm = models.ForeignKey( Telefilm )
    titolo = models.CharField( max_length=39 )
    data_inserimento = models.DateField( null=True, verbose_name="data d'inserimento" )
    def __unicode__(self):
        return self.titolo
    class Meta:
        verbose_name_plural = "Stagioni"

class Episodio( models.Model ):
    stagione = models.ForeignKey( Stagione )
    titolo = models.CharField( max_length=39 )
    trama = models.TextField( max_length=1000 )
    umori = models.ManyToManyField( Umore )
    generi = models.ManyToManyField( Genere_Film )
    data_inserimento = models.DateField( null=True, verbose_name="data d'inserimento" )
    def __unicode__(self):
        return self.titolo
    class Meta:
        verbose_name_plural = "Episodi"

管理员工作,但我不知道如何添加Episodio类。

在实践中,我会在每个“Stagione”下获得无限数量的剧集。

我试过这个,但显然不起作用:

class EpisodioInline(admin.StackedInline):
    model = Episodio
    extra = 1

class StagioneInline(admin.TabularInline):
    model = Stagione
    extra = 1
    inlines = [EpisodioInline]

class TelefilmAdmin( admin.ModelAdmin ):
    fieldsets = [
        ('Telefilm',               {'fields': ['titolo','trama', 'locandina', 'copertina', 'trailer', 'data_inserimento', 'anno', 'attori', 'registi', 'studi', 'umori', 'generi']}),
    ]
    inlines = [StagioneInline]
    filter_horizontal = ['attori', 'registi', 'studi', 'umori', 'generi']

帮助... !!!

0 个答案:

没有答案