我想将查询集中的DateField和TimeField与当前日期进行比较。我搜索了几个小时但没有找到任何东西。尝试使用Q / F-Object,但也没有解决方案。现在我在这里,希望有人知道如何解决这个问题:) - 顺便说一句。分成日期和时间不是我的错,也没有办法将它改成DateTimeField(在其他项目中依赖太多)。
class Model(models.Model):
date = models.DateField()
time = models.TimeField()
在MySQL中我会做类似的事情:
SELECT * FROM app_model WHERE CAST(CONCAT(CAST(日期为CHAR),'',CAST(时间为CHAR))为DATETIME)> = NOW()
感谢您的任何建议!
答案 0 :(得分:0)
您可以使用或者查询集约束(Q对象)执行此操作:
now = datetime.datetime.now()
future_models = Model.objects.filter(Q(date__gt=now.date()) | (Q(date=now.date()) & Q(time__gte=now.time())))
选择今天过去的所有日期,以及日期为今天且时间大于或等于当前时间的所有实例。