在这里,我在Django模型中定义了多对多字段,我想在Django管理员搜索字段中搜索多对多字段。由于我们无法在自定义djangomodelAdmin类的'search_fields = []'中放置多对多字段。如果有人有解决方案,请提出一些建议。
答案 0 :(得分:1)
假设我们有两个模型Item
和SubItem
:
class SubItem(Model):
name = CharField(max_length=128)
class Item(Model):
subitems = ManyToManyField(SubItem)
我们可以在SubItem
的{{1}}中使用双下划线(__
)来搜索相关search_fields
对象的 name :
ModelAdmin
如果这样输入查询,则搜索将在class ItemAdmin(admin.ModelAdmin):
search_fields = ['subitems__name']
的 name 上进行,并且将返回包含此类子项的SubItem