【问题标题】:How do you annotate Django admin's filter_horizontal with associated filed of the M2M field?您如何使用 M2M 字段的关联字段注释 Django admin filter_horizontal?
【发布时间】:2017-08-13 15:19:35
【问题描述】:
你如何注释 Django 管理员的 filter_horizontal?这是在多选中输入有关条目的其他字段的信息。例如,
class A(models.Model):
aa = models.CharField()
bb - models.ManyToManyField('self')
class AAdmin(admin.ModelAdmin):
filter_horizontal = ['bb']
所以 bb 将显示在多选中,但您如何同时显示关联的 aa 字段和 bb 字段? filter_horizontal 不接受 aa 作为参数。
【问题讨论】:
标签:
python
django
django-models
django-admin
【解决方案1】:
您的字段 aa 根本没有在 modelAdmin 中注册。
(1) 使用 django 的 @admin.register 注释将您的 modelAdmin 注册到您的模型及其所有合法字段。
@admin.register(A)
class AAdmin(admin.ModelAdmin):
filter_horizontal = ['bb']
(2) 或将 fieldsets attr 添加到您声明必须显示的字段的 modelAdmin 中。
class AAdmin(admin.ModelAdmin):
fieldsets = (
(None, {'fields': ('aa', 'bb',)}),
)
filter_horizontal = ['bb']