【问题标题】:how can we search many to many field in django admin search field我们如何在 django 管理搜索字段中搜索多对多字段
【发布时间】:2019-01-26 15:26:34
【问题描述】:
在这里,我在 Django 模型中定义了多对多字段,我想在我的 Django 管理搜索字段中搜索该多对多字段。由于我们不能在自定义 djangomodelAdmin 类的 'search_fields=[]' 中放置多对多字段。如果有人有解决方案,请提供一些建议。
【问题讨论】:
标签:
django
python-3.x
django-models
django-admin
【解决方案1】:
假设我们有两个模型Item 和SubItem:
class SubItem(Model):
name = CharField(max_length=128)
class Item(Model):
subitems = ManyToManyField(SubItem)
我们可以通过在search_fields 的search_fields 中使用双下划线(__)来搜索相关SubItem 对象的名称:
class ItemAdmin(admin.ModelAdmin):
search_fields = ['subitems__name']
如果有人因此输入查询,则搜索将在SubItems 的名称上进行,并且将返回包含此类子项的Items。