如何使用标签在 django管理面板中进行搜索?
它将使用称为 django-taggit 包的标记进行搜索。
admin.py
@staticmethod
def get_tags(obj):
tags = []
for tag in obj.tags.all():
tags.append(str(tag))
return ', '.join(tags)
list_display = (
'id'
'portions',
'get_tags',
'created'
)
search_fields = ('name', get_tags, 'created', 'id')`
models.py
from taggit.managers import TaggableManager
tags = TaggableManager(through=TaggedOffer, blank=True)
name = models.CharField(max_length=255)
price = models.DecimalField(
null=True,
max_digits=10,
decimal_places=2,
validators=[positive_decimal]
)
错误
异常类型:FieldError
异常值:
无法将关键字“ get_tags”解析为字段。
答案 0 :(得分:1)
在管理员中,py
search_fields =('name',get_tags,'created','id')change it to
search_fields = ('name', 'tags__name', 'created', 'id')