范围查询:
from django.db.models import Q
from login.models import lucax #models对象
lucax.objects.get(
Q(question__startswith='Who'),
Q(pub_date=date(2005, 5, 2)) | Q(pub_date=date(2005, 5, 6))
)
等价于
SELECT * from polls WHERE question LIKE 'Who%'
AND (pub_date = '2005-05-02' OR pub_date = '2005-05-06')
复杂查询和条件查询结合 (注意条件查询要放到最后!!)
正确:
Poll.objects.get(
Q(pub_date=date(2005, 5, 2)) | Q(pub_date=date(2005, 5, 6)),
question__startswith='Who')
否定查询 Q前面加~
Q(question__startswith='Who') | ~Q(pub_date__year=2005)