How to dynamically compose an OR query filter in Django?

后端 未结 14 1489
清歌不尽
清歌不尽 2021-01-22 05:24

From an example you can see a multiple OR query filter:

Article.objects.filter(Q(pk=1) | Q(pk=2) | Q(pk=3))

For example, this results in:

14条回答
  •  日久生厌
    2021-01-22 06:24

    from functools import reduce
    from operator import or_
    from django.db.models import Q
    
    values = [1, 2, 3]
    query = reduce(or_, (Q(pk=x) for x in values))
    

提交回复
热议问题