2017-05-06 101 views
0

請幫忙,因爲我很困惑。 我使用Django 1.11和python 3.5。 試圖獲取值,當通過「包含」獲取一切正在工作,但是當我嘗試iexact函數使用時,有所有時間錯誤的迴應。爲什麼?在django中搜索對象

實例:

>>> 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. 

由於

+0

你想要'icontains'嗎? – Ryan

回答

1

exactcontains有很大的不同。我們可以說exactcontains的子集。

title字段可以包含'Django',但標題本身並不'Django',所以exactiexact失敗。

例如

title = 'Django: the framework for perfectionists with deadlines' 

Works爲contains但失敗了[i]exact

如果您正在尋找無症狀的遏制,那麼icontains是你想要的。

+0

哦,我知道了 但我怎麼能得到包含的東西,但忽略大小寫的對象?可能嗎? –

+0

icontains working –

+0

你太棒了 –