データがないときはデフォルト値を代入する
from django.db.models.functions import Coalesce from django.utils import timezone model=Sales.objects.annotate(test=Coalesce('date', timezone.now())) print(model.values('test'))
Coalesce(データがあるときの値, データがないときの値)
の形式で記入することで、データがないときのデフォルトの値を設定することができます。
上の例では、testフォール度に、dateフィールドがあればdateを、なければ今の日時を代入しています。