我设置了以下模型:
class ReceiverActions(models.Model):
...
date_paid = models.DateTimeField(default=datetime.now)
,我想只抓住日期。当我在shell中运行此程序时:
ReceiverActions.objects.get(identifier="JLWY25B4").date_paid.date
我得到适当的日期:2018-08-12
但是当我尝试在视图中调用它时:
ra = list(ReceiverActions.objects.filter(
seller_inventory=ss).values().order_by('id'))
rec_id = [
x
for x in ra
if x['seller_inventory_id'] == inventory['id']][0]
info['paid_date'] = str(rec_id['paid_date.date()'])
我变得不确定。
我也尝试过['paid_date__date']
和['paid_date.date']
有人知道为什么这不起作用吗?
编辑:当我调用red_id['identifier']
之类的其他值时,它可以正常工作。
答案 0 :(得分:0)
您只是有点误解:字典rec_id
包含所有字段作为键。您需要先获取字段值(也是dict值),然后再调用它的方法。
而且,您似乎误输入了字段名称:它应该是date_paid
而不是paid_date
。
因此更改此行:
... = str(rec_id['paid_date.date()'])
对此
... = str(rec_id['date_paid'].date())