filter_horizontal = ('blocked_email_notifications',)
到我的ModelAdmin
,但它仍然将它渲染为多选小部件,而不是漂亮的javascript增强版。怎么会?我需要添加其他内容吗?
用户模型将其定义为
blocked_email_notifications = ManyToManyField('EmailTemplate', blank=True)
表单将其定义为
blocked_email_notifications = ModelMultipleChoiceField(queryset=EmailTemplate.objects.order_by('key'), required=False)
答案 0 :(得分:19)
如果您在表单中定义字段,则需要包含窗口小部件:
from django.contrib.admin.widgets import FilteredSelectMultiple
blocked_email_notifications = ModelMultipleChoiceField(
queryset=EmailTemplate.objects.order_by('key'),
required=False,
widget=FilteredSelectMultiple(
verbose_name=EmailTemplate._meta.verbose_name,
is_stacked=False))
is_stacked
:
False
:列表是并排呈现的True
:列表在另一个