【问题标题】:Django admin's filter_horizontal (& filter_vertical) not workingDjango 管理员的 filter_horizo​​ntal (& filter_vertical) 不工作
【发布时间】:2011-02-15 22:19:20
【问题描述】:

我正在尝试对 ManyToMany 字段使用 ModelAdmin.filter_horizo​​ntal 和 ModelAdmin.filter_vertical 而不是选择多个框,但我得到的是:

我的模特:


class Title(models.Model):
    #...
    production_companies = models.ManyToManyField(Company, verbose_name="компании-производители")
    #...

我的管理员:


class TitleAdmin(admin.ModelAdmin):
    prepopulated_fields = {"slug": ("original_name",)}
    filter_horizontal = ("production_companies",)
    radio_fields = {"state": admin.HORIZONTAL}
    #...

javascripts 加载正常,我真的不明白会发生什么。 Django 1.1.1 稳定版。

【问题讨论】:

    标签: python django django-admin filtering


    【解决方案1】:

    我终于找到了解决方案。问题在于该字段的详细名称 - 它是 str 而不是 unicode。迁移到 unicode 有所帮助。

    谢谢:-)

    【讨论】:

    • 我需要几个小时才能找到答案。
    • 模特的verbose_name="Catégorie" 变为verbose_name=u"Catégorie"。 1个字符修复,太棒了! @negus,你是个天才。我总是忘记在 python 中仔细检查带有重音符号的字符串!这变得非常烦人。
    【解决方案2】:

    我也在寻找这样的答案。我刚刚发现“filter_horizo​​ntal”的值必须是一个列表或元组。 所以这段代码:

    filter_horizontal = ("production_companies",)
    

    应该改为:

    filter_horizontal = ("production_companies", "production_companies")
    

    【讨论】:

      猜你喜欢
      • 2014-05-23
      • 1970-01-01
      • 2015-09-08
      • 2011-07-17
      • 2019-08-15
      • 2013-01-27
      • 2013-08-12
      • 2019-03-07
      • 1970-01-01
      相关资源
      最近更新 更多