2012-11-15 66 views
0

我希望今天能夠篩選記錄:過濾查詢集與空條件

today = datetime.today().date() 
dataset = Structure.objects.exclude(final_date__lt=today).filter(initial_date__lte=today) 

上面的代碼工作正常最初和最後一天被填充。

考慮到final_date可以爲null,我該如何構造過濾器?

或者這個查詢是否有更好的構造?

+0

是否要排除空日期的記錄? – mipadi

+0

是的。我想過濾今天無效的記錄,考慮初始和最終日期字段的有效性條件。 – Josir

回答

2

如果我明白這個權利,您希望過濾final_date值和null。是嗎?

您可以使用Q對象進行過濾。

from django.db.models import Q 

dataset = Structure.objects.filter(Q(final_date__lt=today) | Q(final_date__isnull=True)).filter(initial_date__lte=today)