update queries python sql django django-queryset django-orm

python - queries - ¿Cómo realizar la condición OR en django queryset?



orm django queries (2)

Como QuerySets implementa el operador Python __or__ ( | ), o union, simplemente funciona. Como era de esperar, el | el operador binario devuelve un QuerySet por lo que order_by() , .distinct() y otros filtros queryset se pueden agregar al final.

combined_queryset = User.objects.filter(income__gte=5000) | User.objects.filter(income__isnull=True) ordered_queryset = combined_queryset.order_by(''-income'')

Quiero escribir una consulta de Django equivalente a esta consulta SQL:

SELECT * from user where income >= 5000 or income is NULL.

¿Cómo construir el filtro queryset Django?

User.objects.filter(income__gte=5000, income=0)

Esto no funciona, porque es AND los filtros. Quiero OR los filtros para obtener la unión de querysets individuales.