Django自定义保存方法

时间:2013-03-03 15:09:44

标签: django postgresql django-models

我更改了save方法,以包含在所有保存中更改的修改日期字段。我想知道我是否使用update()方法更新模型。是否会调用save方法??

如果不是如何更新所有修改的修改日期字段

,请回答解释

1 个答案:

答案 0 :(得分:2)

如果您read the documentation on the update method of a queryset,您会注意到以下内容:

  

最后,意识到update()在SQL级别进行更新,因此不会在模型上调用任何save()方法,也不会发出pre_save或post_save信号(这是调用Model的结果) .save())。

  

如果要为具有自定义save()方法的模型更新一堆记录,请循环遍历它们并调用save(),如下所示:

for e in Entry.objects.filter(pub_date__year=2010):
    e.comments_on = False
    # Or in your case, update the date here
    e.save()