在django admin documentation中,它说明了以下内容:
默认情况下,多对多关系的管理窗口小部件将显示在包含对ManyToManyField的实际引用的任何模型上。
是否有办法让其他模型的管理页面上显示类似的小部件,即没有定义关系的模型?
答案 0 :(得分:0)
有几种不同的方法可以达到你想要的效果。
这是一种方法,可以获得类似(但不完全相同)的效果,并且可能需要最少的编码。 (示例将使用类A
和B
,假设前者具有明确定义的多对多关系)
最快捷的方法:您可以使用InlineModelAdmin
对象:
class AInline(admin.TabularInline):
model = A
class BAdmin(admin.ModelAdmin):
inlines = (AInline,)
admin.site.register(B, BAdmin)
如果您希望获得<select multiple>
的完全效果,那么您可以使用自定义Form
类,并将其分配给{{1 }}