在 Django 中比较日期
Comparing Dates in Django
我需要将预订中的日期字段 table 与今天的日期进行比较。我正在尝试遍历所有预订日期,如果日期小于今天的日期,则将字段状态更改为“已完成”
我不断收到以下错误
“类型错误:'datetime.date' 和 'str' 的实例之间不支持‘<’”
我已尝试对此进行研究,但无法解决问题。
下面是我的代码。
型号。(ASPBookings)
booking_date = models.DateField()
查看
date_today = (datetime.datetime.now())
date_stripped = date_today.strftime('%Y-%m-%d')
asp_date_data = ASPBookings.objects.all()
for booking in asp_date_data:
print (booking.booking_date)
if booking.booking_date < date_stripped:
booking.status == 'Completed'
booking.save()
我已经检查了字段的输出,在去掉时间后日期看起来是一样的。例如
ASPBookings 字段日期
2021-05-27
2021-06-24
2021-06-15
今天的日期
2021-06-09
在此先感谢您提供的任何帮助。
错误消息很清楚,这意味着您无法将 date
对象(booking.booking_date
的类型)与字符串(date_stripped
的类型)进行比较。试试这个:
date_today = datetime.datetime.now().date() # use this instead of strftime
asp_date_data = ASPBookings.objects.all()
for booking in asp_date_data:
print (booking.booking_date)
if booking.booking_date < date_stripped:
booking.status == 'Completed'
booking.save()
我需要将预订中的日期字段 table 与今天的日期进行比较。我正在尝试遍历所有预订日期,如果日期小于今天的日期,则将字段状态更改为“已完成”
我不断收到以下错误
“类型错误:'datetime.date' 和 'str' 的实例之间不支持‘<’”
我已尝试对此进行研究,但无法解决问题。
下面是我的代码。
型号。(ASPBookings)
booking_date = models.DateField()
查看
date_today = (datetime.datetime.now())
date_stripped = date_today.strftime('%Y-%m-%d')
asp_date_data = ASPBookings.objects.all()
for booking in asp_date_data:
print (booking.booking_date)
if booking.booking_date < date_stripped:
booking.status == 'Completed'
booking.save()
我已经检查了字段的输出,在去掉时间后日期看起来是一样的。例如
ASPBookings 字段日期 2021-05-27 2021-06-24 2021-06-15
今天的日期 2021-06-09
在此先感谢您提供的任何帮助。
错误消息很清楚,这意味着您无法将 date
对象(booking.booking_date
的类型)与字符串(date_stripped
的类型)进行比较。试试这个:
date_today = datetime.datetime.now().date() # use this instead of strftime
asp_date_data = ASPBookings.objects.all()
for booking in asp_date_data:
print (booking.booking_date)
if booking.booking_date < date_stripped:
booking.status == 'Completed'
booking.save()