我正在查询以获取从一个人购买新手机到今天的天数。
device_record = Devc.objects.annotate(duration = todays_date - F('datebuy'))\
.order_by('datebuy')
检索数据时,得到了3150 days, 20:08:00
。
由于我只想显示number of days
,如何删除时间?
我尝试过:
device_record = Devc.objects.annotate(duration = (todays_date - F('datebuy')).days)\
.order_by('datebuy')
返回的错误:
'F' object has no attribute 'days'
我像这样todays_date = datetime.now().date()
定义今天的日期,datebuy
是DateTimeField
答案 0 :(得分:0)
如果您只需要几天的时间,用户就可以购买电话。你可以这样查询
device_record = Devc.objects.order_by('datebuy')
然后在模板中
{{ your_date_field|timesince:current_date_taht_can_be_return_from_view }}
答案 1 :(得分:0)
您可以尝试减去时间戳记,然后检索日期。
from datetime import datetime, timedelta
now = datetime.now()
yesterday = now - timedelta(days=1)
duration = now - yesterday
print duration.days
输出:
1
答案 2 :(得分:0)
device_record = Devc.objects.annotate(duration = todays_date - F('datebuy')).order_by('datebuy')
device_record = device_record.annotate(duration_in_days = F('duration__day'))