Change - QuerySet

Created on Nov. 19, 2012, 10:48 a.m. by Hevok & updated on Nov. 19, 2012, 10:48 a.m. by Hevok

A queryset has query property that allows to see the associated sql statement. ¶
¶
For instance to query the ORM to find recently active users - users who joined the last month or who have logged in this month: ¶
¶
.. sour
cecode:: python ¶
¶
>>> from datetime import date ¶
>>> from django.contrib.auth.models import User ¶
>>> from django.db.models import Q ¶
>>> nov_1st = date(2012, 11, 1) ¶
>>> recent = User.objects.filter(Q(last_login_gte=nov_1st) ¶
| Q(date_joined__gte=nov_1st)) ¶
>>> print(recent.query) ¶
¶
The bit-wise OR operator can also be applied on QuerySets: ¶
¶
.. sourcecode:: python ¶
¶
>>> from datetime import date ¶
>>> from django.contrib.auth.models import User ¶
>>> nov_1st = date(2012, 11, 1) ¶
>>> recent_login = User.objects.filter(last_login__gte=nov_1st) ¶
>>> recent_join = User.objects.filter(date_joined__gte=nov_1st) ¶
>>> recent = recent_login | recent_join ¶
>>> print(recent.query) ¶
¶
However note that the Q object might be more efficient as it can prevent for example duplications in the where clausal. ¶


Comment: Updated entry

Comment on This Data Unit