Django Admin list_filter没有显示

时间:2016-02-20 14:12:24

标签: python django python-2.7 django-admin

所以这是我的代码:

class Destino(models.Model):
    paisid = models.IntegerField(blank = True,null = True)
    nombre = models.CharField(max_length = 200)
    grupo = models.CharField(max_length = 200, blank = True, null = True)
    requisitos_turismo = models.ManyToManyField(Requisito, related_name = "requisitos_turismo", blank = True)
    requisitos_negocios = models.ManyToManyField(Requisito, related_name = "requisitos_negocios", blank = True)
    dias_min_entrada = models.IntegerField(blank = True,null=True)
    importancia = models.CharField(max_length = 200, default = "15")
    enlace = models.CharField(max_length = 200,blank = True,null = True)
    imagen = models.ImageField(upload_to="img", null = True,blank = True)
    # formulario = models.ForeignKey('Formulario', related_name = "destino_formulario", blank = True,null = True)
    def __unicode__(self):
        return self.nombre


class Tasa(models.Model):
    nacionalidad = models.ForeignKey(Destino, related_name = "nationality")
    destino = models.ForeignKey(Destino, related_name = "destination")
    duracion_dias = models.IntegerField(blank = True,null = True)
    tipo_visado = models.ForeignKey(TipoVisado, blank = True,null = True)
    motivo = models.ForeignKey(Motivo, blank = True, null = True)
    precio = models.DecimalField(max_digits = 6, decimal_places = 2, blank = True, null = True)
    def __unicode__(self):
        return "%s,%s,%s,%s,%s,%s" % (self.nacionalidad.nombre,self.destino.nombre,str(self.duracion_dias),self.motivo.nombre,self.tipo_visado.nombre,self.precio)

class AdminTasas(admin.ModelAdmin):
    search_fields = ['nacionalidad__enlace']
    ordering = ('nacionalidad__enlace',)
    list_filter = (
        ('destino', admin.RelatedOnlyFieldListFilter),
    )

admin.site.register(Tasa,AdminTasas)

我正在尝试为Tasa模型添加管理过滤器 但它没有显示在管理员上的过滤器
如果我将过滤器从“destino”更改为“nacionalidad”[是相同的主模型(“Destino”)],我会在管理员上获取过滤器,并使用所有国家/地区的列表进行操作。 任何帮助之王都会非常苛刻。 谢谢!

1 个答案:

答案 0 :(得分:13)

刚刚找到解决方案。你需要有超过1个“destinos”才能显示list_filter。