我正在尝试从django查询我的postgres数据库,我正在使用的查询是
s = Booking.objects.all().filter(modified_at__range=[last_run, current_time], coupon_code__in=l)
现在我在我的脚本中以某种方式更改了我的这个对象,而不是将它保存到数据库中。我想知道的是,现在可以查询这个对象吗?
说,我将变量更改为
s.modified_at = '2016-02-22'
是否仍可以将此对象查询为:
s.objects.all()
或类似的东西?
答案 0 :(得分:1)
QueryManager是Django与数据库(ORM)的接口。根据定义,这意味着您只能查询已存储在数据库中的数据。
所以,简而言之:“不”。您无法对未保存的数据进行查询。
考虑为什么你甚至要问这个问题,特别是使用“modified_at”查看示例:为什么你不想保存你的数据?
(您可能希望将auto_now=True
用于“modified_at”字段,顺便说一下。)
答案 1 :(得分:0)
你可以这样做:
bookings = Booking.objects.all().filter(modified_at__range=[last_run, current_time], coupon_code__in=l)
for booking in bookings:
booking.modified_at = 'some value'
booking.save() # now booking object will have the updated value