在django中搜索对象

时间:2017-05-06 20:32:21

标签: python django

请帮忙,因为我很困惑。 我正在使用Django 1.11和python 3.5。 试图获取值,当通过“包含”时,一切正常,但是当我尝试使用iexact函数时,一直都有错误的响应。为什么呢?

示例:

>>> print(Blog.objects.filter(title__contains='Django'))
<QuerySet [<Blog: 1>, <Blog: 4>]>
>>> print(Blog.objects.filter(title__iexact='Django'))
<QuerySet []>

>>> print(Blog.objects.get(title__contains='Django'))
1
>>> print(Blog.objects.get(title__iexact='Django'))
...
blog.models.DoesNotExist: Blog matching query does not exist.

由于

1 个答案:

答案 0 :(得分:1)

exactcontains完全不同。我们可以说exactcontains的一个子集。

您的title字段可能包含 'Django',但标题本身并非'Django',因此exact或{{1失败。

e.g。

iexact

适用于title = 'Django: the framework for perfectionists with deadlines' ,但contains无效。

如果您正在寻找包含案例的遏制,那么[i]exact就是您想要的。