0

保存方法を変更して、すべての保存で変更される変更日フィールドを含めました。update()メソッドを使用してモデルを更新するかどうかを知りたい。saveメソッドは呼び出されますか?

すべての変更で変更日フィールドを更新するにはどうすればよいかを説明してください。

4

1 に答える 1

2

クエリセットのメソッドに関するドキュメントを読むupdateと、次のように書かれていることに気付くでしょう。

最後に、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()
于 2013-03-03T15:38:41.793 に答える