¿Cómo componer dinámicamente un filtro de consulta OR en Django?

Desde un ejemplo, puede ver un filtro de consulta OR múltiple:

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

Por ejemplo, esto da como resultado:

[<Article: Hello>, <Article: Goodbye>, <Article: Hello and goodbye>]

Sin embargo, quiero crear este filtro de consulta a partir de una lista. ¿Como hacer eso

p.ej. @[1, 2, 3] -> Article.objects.filter(Q(pk=1) | Q(pk=2) | Q(pk=3))

Respuestas a la pregunta(24)

Su respuesta a la pregunta