16
特定のモデルのsave()メソッドをオーバーライドしているときに、新しいレコードであるか更新であるかを判断できますか?Djangoのmodel.save()でモデルの新しいインスタンスを検出する方法
特定のモデルのsave()メソッドをオーバーライドしているときに、新しいレコードであるか更新であるかを判断できますか?Djangoのmodel.save()でモデルの新しいインスタンスを検出する方法
self.pk
がNone
の場合は新しいレコードです。あなたは `auto_now`と` auto_now_add`を使用することができます。
def save(self):
if self.pk is None:
self.created = datetime.today()
self.modified = datetime.today()
super(ProjectCost, self).save()
このトピックでは、Djangoは内蔵されていることをキーワードオブジェクトの作成と変更日を記録するために、私はここで注意させて頂いてもhere
を議論してきましたモデル定義の「DateTimeField」のパラメータ – gklka
pkにUUIDFieldを使用している場合、インスタンスが新しい場合でも、pkは 'None'ではありません。 – user3467349
これは私のために働いた。ありがとう。 –