我想知道是否可以在change_list模板中对内联字段进行过滤。
我有这个型号:
class VisitaVirtual(models.Model):
poi = models.ForeignKey(Poi)
cliente = models.ForeignKey(Cliente, verbose_name=_(u'Cliente'))
titulo = models.CharField(_(u'Título'), max_length=200)
observacoes = models.TextField(_(u'Observações'), null=True, blank=True)
exclusivo = models.BooleanField(_(u'Exclusivo'), default=False)
remover = models.BooleanField(_(u'Remover'), default=False, null=True, blank=True)
created = models.DateTimeField(_(u'Criado em'), auto_now_add=True, editable=False)
updated = models.DateTimeField(_(u'Modificado em'), auto_now=True, editable=False)
class FicheiroVisitaVirtual(models.Model):
visita_virtual = models.ForeignKey(VisitaVirtual, verbose_name=_(u'Visita virtual'))
ficheiro = models.FileField(_(u'Ficheiro'), upload_to='multimedia/visitas_virtuais/ficheiros/')
tipo = models.CharField(_(u'Tipo'), max_length=10, null=True, blank=True, choices=TIPO_VV)
linguagem = models.CharField(_(u'Linguagem'), choices=LANGUAGES, max_length=2)
created = models.DateTimeField(_(u'Criado em'), auto_now_add=True, editable=False)
updated = models.DateTimeField(_(u'Modificado em'), auto_now=True, editable=False)
我的admin.py看起来像这样:
class FicheiroVisitaVirtualModelInlines(admin.TabularInline):
model = FicheiroVisitaVirtual
extra = 3
list_filter = ['tipo']
class VisitaVirtualAdmin(admin.ModelAdmin):
list_display = ['titulo', 'cliente', 'remover', 'exclusivo', 'created', 'updated']
list_filter = ['created']
search_fields = ['titulo']
ordering = ['titulo']
raw_id_fields = ['poi', 'cliente']
inlines = [FicheiroVisitaVirtualModelInlines]
我需要在tipo字段中有一个过滤器,所以我可以过滤VisitaVirtual,它有一段时间的FicheiroVisitaVirtual。
有可能吗?
答案 0 :(得分:-1)
您可以使用list_filter
语法在<related_manager>__<related field>
中使用相关模型的字段:
class VisitaVirtualAdmin(admin.ModelAdmin):
list_display = ['ficheirovisitavirtual_set__tipo', ]
(...)