无法将关键字“_icontains”解析为字段

时间:2017-08-15 09:28:34

标签: django-models

对于我的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

我正在按照文档中描述的完全搜索方法进行搜索。我做错了什么?

1 个答案:

答案 0 :(得分:0)

尝试使用双下划线:

search_results = Post.objects.filter(name__icontains=search_term)
                                          ^

有关icontains和其他过滤器的更多详细信息,请参阅Django中的the docs for field lookups