オブジェクトが新しいかどうかを確認するための一般的なパターンは、次のテストです。
self.pk is not None
django モデルのカスタム save() メソッドで説明されているように、新しいオブジェクトをどのように識別する必要がありますか?
しかし、オブジェクトが他のオブジェクトと 1 対 1 の関係にある場合は正しくありません。たとえば、次のようになります。
class X(models.Model):
bla = models.OneToOneField(Bla)
次に、このオブジェクト インスタンスを作成してデータベースに保存する場合は、次のようにします。
x = X(bla=someBla)
x.save()
x.pk は null ではなく、最初から x.pk = someBla.pk です。
そのようなオブジェクトが新規または編集されているかどうかを確認する可能性はありますか?