我有
Class Profile(models.Model)
turn_off_date = models.DateTimeField(null= True, blank = True,auto_now = False)
我需要找到所有x天内的有效日期= 确切的配置文件记录。 我该怎么做呢? 我可以考虑遍历所有配置文件并手动比较日期,但这似乎无效
更新:
我需要按日期过滤,而不是像重复的问题一样按日期时间字段
现在我正在这样做:
profiles = Profile.objects.all()
for profile in profiles:
if(profile.days_left() == x):
print(profile.days_left())
在我的Profile模型中,我定义了一个方法:
def days_left(self):
turn_off_date = self.turn_off_date
days_left = (turn_off_date - datetime.now()).days
if days_left < 0:
days_left = 0
return days_left
答案 0 :(得分:0)
答案 1 :(得分:0)
您可以只在__date
之前输入给定日期
对于日期时间字段,将值强制转换为日期。允许链接其他字段查找。带有日期值。
.filter(turn_off_date__date=(datetime.now()+timedelta(days=x)).date())
答案 2 :(得分:0)
我想类似的东西可以正常工作:
从Django 1.9开始,您可以完全按照自己的方式使用
__date
字段查找 在您的问题中提到过。对于较旧的版本,您将必须 用其他方法做。