如何解决从Django queryset中的datetime字典中提取日期
为此花了太多时间,所以我问我,
queryset = MyModel.objects.filter(id=id).values('send_date')
结果是这个
<QuerySet [{'send_date': datetime.date(2020,9,30)}]>
试图获取2020,30
我尝试了sd=queryset.strftime('%Y-%m-%d')
,sd=datetime.strptime(max(queryset.keys()),'%Y-%m-%d')
甚至尝试了sd=queryset['send_date']
,sd=queryset.get('send_date')
,for key,value in queryset.items()
的结果都是错误"queryset has no items() attr"
解决方法
通常queryset中可能包含多个项目,因此您需要遍历其值
queryset = MyModel.objects.filter(id=id).values('send_date')
for date_value in queryset:
print(date_value["send_date"])
如果您确定那里只有一个值,那么您就可以将价值作为
queryset[0]["send_date"]
,
因为您的过滤器参数是ID(我想这是唯一的),所以它一定是一个queryset吗?
如果知道只有一个对象,可以这样做:
MyModel.objects.get(id=id).send_date.strftime('%Y,%m,%d')
否则,如果要保留过滤器,则可以将日期保存在这样的数组中:
[send_date.strftime('%Y,%d') for send_date in MyModel.objects.filter(id=id).values_list('send_date',flat=True)]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。