自動化無しに生活無し

WEBとかAIとかLinux関係をひたすら書く備忘録系ブログ

Djangoで主キーのリスト型を作り、合致するレコードを検索する【values_list + filter】

thumbnail

例えば、複数のレコードのIDを検索して削除したい場合、下記のように記述する。

result    = Topic.objects.filter(id__in=[1,2,3])
print(result)

#idが1,2,3のデータが表示される。

これがリスト型のIDを使用したIN句である。

ちなみに、検索結果からIDのリストを作るには、下記のようにする。

result  = list(Topic.objects.all().values_list("id",flat=True))
print(result)

#[1, 2, 3, 4, 5, 6, 7, 8]

idだけカラムを指定し、flat=Trueとすることで数値型のリストを作ることができる。

参照元

https://docs.djangoproject.com/en/3.2/ref/models/querysets/#in

https://docs.djangoproject.com/en/3.2/ref/models/querysets/#values-list

スポンサーリンク

シェアボタン

Twitter LINEで送る Facebook はてなブログ