你如何用M2M字段的相关字段注释Django admin的filter_horizo​​ntal?

时间:2017-08-13 15:19:36

标签: python django django-models django-admin

你如何注释Django admin的filter_horizo​​ntal?这是关于多选中条目的其他字段的信息。例如,

class A(models.Model):
    aa = models.CharField()
    bb - models.ManyToManyField('self')

class AAdmin(admin.ModelAdmin):
    filter_horizontal = ['bb']

所以bb会在多选中显示,但是你如何用bb字段显示相关的aa字段? filter_horizo​​ntal不接受aa作为参数。

1 个答案:

答案 0 :(得分:0)

您的字段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']