95251


Djangoでモデルを指定したリストのIDを持つものを抽出したいのですができません。  
参考記事をもとにしてみましたがエラーが発生しました。

## バージョン

Django:4.0

## 参考記事

[Django 'objects.filter()' with
list?](https://stackoverflow.com/questions/5956391/django-objects-filter-with-
list)

この参考記事に書かれていることを試しました。  
（1）__in

[code]

    モデル.objects.filter(id__in=リスト)
    
[/code]

id__in自体がSyntaxErrorとなります。

(2)Q()

[code]

    qfilter = Q()
    for q in リスト:
      qfilter = qfilter | Q(id=qfilter )
    
    モデル.objects.filter(qfilter)
    
[/code]

django.db.utils.OperationalError: near "OR": syntax error が表示されます。


CC BY-SA 4.0
2023-06-15T06:56:07.280
95242
2023-06-16T00:34:52.057
2023-06-16T00:04:15.623
32891
32891
question
python3 django
django filter リストでの判定ができない。


  2. の方

[code]

    qfilter = Q()
    for q in リスト:
        qfilter = qfilter | Q(id=q)
    
    モデル.objects.filter(qfilter)
    
[/code]

が正しいですね。

（ただし`__in`の方を使うべきであって、こちらを使う理由はないです）


CC BY-SA 4.0
2023-06-16T00:34:52.057
95251
2023-06-16T00:34:52.057
12274
95242
answer