多对多显示修改

多对多字段的,在后台显示效果、操作等很不爽,如果你想选择多项,你必须还要按下Ctrl键(苹果机是command键)如下:


我们可以添加以下代码来改变它 :

1

2

3

class BookAdmin(admin.ModelAdmin):

    filter_horizontal=('authors',)

admin.site.register(Book,BookAdmin)

通过filter_horizontal,只需在这个元组中指定每个字段的名字就可以了,显示效果如下:


ModelAdmin类还支持filter_vertical选项。 它像filter_horizontal那样工作,除了控件都是垂直排列,而不是水平排列的。

注意:filter_horizontal和filter_vertical选项只能用在多对多字段 上, 而不能用于 ForeignKey字段

未修改前样式是这样的:

111143935.png

设置filter_vertical之后是这样的:

11144324.png

设置filter_horizontal是这样的:1144209.png