68
blocked_delivery_times = BlockedDeliveryTime.objects.filter(delivery_date=delivery_date) \
.values('delivery_time')
delivery_times = DeliveryTime.objects.exclude(id__in=blocked_delivery_times)
12
With the release of Django 1.11 you can use difference
, which takes advantage of the EXCEPT
SQL operator. I think it might be more efficient because you aren’t evaluating a query to get a list of values.
- [Django]-How to limit columns returned by Django query?
- [Django]-How to set the default of a JSONField to empty list in Django and django-jsonfield?
- [Django]-How to do SELECT COUNT(*) GROUP BY and ORDER BY in Django?
7
For newer version of Django (I use 1.10) you should not use .objects for the second line.
blocked_delivery_times = BlockedDeliveryTime.objects.filter(delivery_date=delivery_date) \
.values('delivery_time')
delivery_times = DeliveryTime.exclude(id__in=blocked_delivery_times)
- [Django]-How can I enable CORS on Django REST Framework
- [Django]-Annotate a queryset with the average date difference? (django)
- [Django]-POST jQuery array to Django
Source:stackexchange.com