0

今日有効になっているレコードをフィルタリングしたい:

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

上記のコードは、初日と最終日の両方が満たされている場合に正常に機能します。

final_date が null になる可能性があることを考慮して、フィルターを作成するにはどうすればよいですか?

または、このクエリのより良い構造はありますか?

4

1 に答える 1

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)
于 2012-11-15T20:07:50.067 に答える