Django 管理员的filter_horizo​​ntal(&filter_vertical)不工作

发布于 2024-08-31 01:59:30 字数 655 浏览 1 评论 0原文

我尝试对 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}
    #...

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

I'm trying to use ModelAdmin.filter_horizontal and ModelAdmin.filter_vertical for ManyToMany field instead of select multiple box but all I get is:

My model:


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

My admin:


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

The javascripts are loading OK, I really don't get what happens. Django 1.1.1 stable.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

未蓝澄海的烟 2024-09-07 01:59:30

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

谢谢 :-)

I finally got the solution. The problem was with the field's verbose name - it was str instead of unicode. Moving to unicode helped.

Thanks :-)

靑春怀旧 2024-09-07 01:59:30

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

filter_horizontal = ("production_companies",)

应该改为:

filter_horizontal = ("production_companies", "production_companies")

I was also looking for this kind of answer. I just found out the value of 'filter_horizontal' must be a list or tuple.
So this code:

filter_horizontal = ("production_companies",)

should be changed to:

filter_horizontal = ("production_companies", "production_companies")
吃颗糖壮壮胆 2024-09-07 01:59:30

filter_horizo​​ntal 不起作用的另一个潜在原因是覆盖包含小部件必需的 JavaScript 文件的 form.media 属性。

Another potential cause for filter_horizontal not working is overriding form.media property that includes the necessary JavaScript files for the widget.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文