在ManytoManyField(Django Admin)中实现搜索字段,可以通过使用django.contrib.admin
模块中的search_fields
属性来实现。
search_fields
属性允许在Django Admin中搜索ManytoManyField字段的内容。它接受一个包含字段名称的列表,用于指定要搜索的字段。
以下是实现搜索字段的步骤:
models.py
文件中,找到包含ManytoManyField字段的模型类。related_name
参数,以便在后续步骤中引用该字段。search_fields
属性,并将ManytoManyField字段的related_name
值作为搜索字段。下面是一个示例:
from django.db import models
from django.contrib import admin
class Tag(models.Model):
name = models.CharField(max_length=50)
class Article(models.Model):
title = models.CharField(max_length=100)
tags = models.ManyToManyField(Tag, related_name='articles')
class ArticleAdmin(admin.ModelAdmin):
search_fields = ['tags__name'] # 使用related_name指定的字段名
admin.site.register(Article, ArticleAdmin)
在上面的示例中,我们有两个模型类:Tag
和Article
。Article
模型类包含一个ManytoManyField字段tags
,它与Tag
模型类相关联。在ArticleAdmin
类中,我们将search_fields
属性设置为['tags__name']
,这样在Django Admin中就可以搜索tags
字段的name
属性。
这样,当我们在Django Admin中搜索文章时,可以根据标签名称进行搜索。
腾讯云相关产品和产品介绍链接地址:
云+社区沙龙online第5期[架构演进]
Elastic 中国开发者大会
企业创新在线学堂
Elastic 中国开发者大会
Elastic 中国开发者大会
云+社区技术沙龙[第12期]
云+社区技术沙龙[第17期]
腾讯云GAME-TECH游戏开发者技术沙龙
云+社区技术沙龙[第20期]
腾讯位置服务技术沙龙
DB TALK 技术分享会
领取专属 10元无门槛券
手把手带您无忧上云