質問

私は使用しています django-taggit, 、任意のコンテンツタイプへのタグの添付ファイルを処理します。多くの大文字と小文字の単語を含む大きなタグリストをインポートしました。

さて、私はタグのセットを含む別のクラスのオブジェクトを取得しようとしていますが、ケースを慎重に比較したいと思います。私がこれをするとき:

Media.objects.filter(tags__name__in=['tag1', 'tag2'])

タグ「tag1」を含むオブジェクトは見つかりません、「tag1」または「tag2」を持つもののみが見つかりません。

Django Ormで、次のようなことをする可能性はありますか?

Media.objects.filter(tags__name__iin=['tag1', 'tag2'])

それは「icontains」のように機能しますか?

役に立ちましたか?

解決

それをする簡単な方法はありません。私は100%確信がありません、あなたはあなたの問題のためにこのようなことを試すことができます。

from django.models import Q

q = Q()
for tag in tags.split():
    q |= Q(tags__name__iexact=tag)

Media.objects.filter(q)
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top