我们如何在Django管理员搜索字段中搜索多对多字段

时间:2018-08-20 13:25:47

标签: django python-3.x django-models django-admin

在这里,我在Django模型中定义了多对多字段,我想在Django管理员搜索字段中搜索多对多字段。由于我们无法在自定义djangomodelAdmin类的'search_fields = []'中放置多对多字段。如果有人有解决方案,请提出一些建议。

1 个答案:

答案 0 :(得分:1)

假设我们有两个模型ItemSubItem

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