2017-05-06 7 views
0

私は混乱しているので、助けてください。 私はDjango 1.11とPython 3.5を使用しています。 値を取得しようとしているときに、すべての機能が動作しているときに "contains"を経由して取得しようとしていますが、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'ではないので、exactまたはiexactが失敗しました。

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

containsのための作品だが[i]exactのために失敗します。

ケースインセンティブ封じ込めを探している場合は、icontainsが必要です。

+0

ああ私はそれを得た しかし、私は何かを含むが、大文字と小文字を無視してオブジェクトを得ることができますか?出来ますか? –

+0

icontains working –

+0

あなたは華麗です –

関連する問題