Django-触发自动_now字段更改

Django-触发自动_now字段更改,django,django-models,Django,Django Models,我想知道如何重新保存对象以更新“立即自动”字段 著名的是,我想到了这个密码 obj = MyModel.objects.get(id=someid) obj.save() 但是如果我有很多对象要更新呢?或者更好地说,更新对象的立即自动字段的最佳方法是什么,使用id值并将其自身设置为触发立即自动字段更改: from django.db.models import F MyModel.objects.filter(something=something).update(id=F('id'))

我想知道如何重新保存对象以更新“立即自动”字段

著名的是,我想到了这个密码

obj = MyModel.objects.get(id=someid)
obj.save()
但是如果我有很多对象要更新呢?或者更好地说,更新对象的
立即自动
字段

的最佳方法是什么,使用
id
值并将其自身设置为触发
立即自动
字段更改:

from django.db.models import F

MyModel.objects.filter(something=something).update(id=F('id'))

最后,我在每个对象上使用
save()
来更新
auto\u now
字段

正如Daniel所说,
update()
实际上不会更新auto\u now字段,因为它直接执行SQL更新,而
auto\u now
字段是在Python代码中设置的

所以我做了:

obj = MyModel.objects.get(id=someid)
obj.save()
对于多个对象:

objs = MyModel.objects.all()
for obj in objs:
   obj.save()

从未使用过
F
,直到现在,时间终于到了。谢谢男人:)@doniyor再次感谢你收集的另一个有趣的问题:)永远是我的荣幸!;)这实际上不适用于更新auto_now字段,因为
update
执行直接SQL更新,而auto_now是在Python代码中设置的。@doniyor OK,那么最好不接受答案,添加您自己的答案并接受它。这将有助于其他人了解目前的最佳解决方案。谢谢。n+1查询很糟糕!