DjangoのQuerysetのfieldで定義するoverlapの意味
今回はDjangoのQuerysetのfieldで定義するoverlapの意味についてご紹介いたします。
DjangoのQuerysetのfieldで定義するoverlapの意味
まず、overlapの使い方について、このようなソースコードを見かけることがあると思います。
1 |
test = testModel.objects.filter(testfield__overlap=list(sampledict.keys())) |
実はこのoverlapはPostgreSQLを使っているときしか現れません。
というのも、このoverlapはArrayField専用のものですが、ArrayFieldは
1 |
from django.contrib.postgres.fields import ArrayField |
のようにPostgreSQLのモジュールをインポートしたときにしか使えないからです。
使い方は、下記公式ドキュメントに書いてある通りで、配列を渡すことで、配列の中に一個でもヒットしたものに対してオブジェクトを渡します。
https://docs.djangoproject.com/en/3.2/ref/contrib/postgres/fields/#overlap
終わりに
今回はDjangoのQuerysetのfieldで定義するoverlapの意味についてご紹介いたしました。
ディスカッション
コメント一覧
まだ、コメントがありません