对于我的Django应用程序中的搜索功能,我使用以下语句在数据库中查询包含搜索词的字段:
search_results = Post.objects.filter(name_icontains=search_term)
然而,我收到此错误:
Cannot resolve keyword 'name_icontains' into field. Choices are: content, date, id, name, url, views
这些是models.py文件的内容供参考:
import datetime
from django.db import models
class Post(models.Model):
name = models.CharField(max_length=200)
content = models.TextField()
date = models.DateField(default=None, blank=True, null=True)
url = models.CharField(max_length=5, default=None, blank=True, null=True)
views = models.IntegerField(default=0)
def __str__(self):
return self.name
我正在按照文档中描述的完全搜索方法进行搜索。我做错了什么?
答案 0 :(得分:0)
尝试使用双下划线:
search_results = Post.objects.filter(name__icontains=search_term)
^
有关icontains
和其他过滤器的更多详细信息,请参阅Django中的the docs for field lookups。