モデルでカスタム検証を実行しようとしていますが、混乱しています。私は具体的にさせてください。のは、次のように私のコードがあるとしましょう:今すぐdjangoでcreateを呼び出すとsave()が暗黙に呼び出されますか?
class FooManager(models.Manager):
def create_foo(self, name):
return self.create(foo_name = name)
class Foo(models.Model):
foo_name = models.CharField(max_length=30)
objects = FooManager()
def clean(self):
...
def save(self, *args, **kwargs):
self.full_clean()
super(User, self).save(*args, **kwargs)
、私が呼び出した場合、私は、シェルからこのモデルで働いていたとき:
F = Foo.objects.create_foo( 「」)私はチャンスのトンを取得する前に
これは、検証エラーが発生しますo fのsave()を呼び出します。なぜこれが起こるのですか? f.save()を呼び出すと、妥当性検査エラーは発生しませんか?
注:カスタム定義のcreateメソッドではなく、objects.create()を使用すると同じことが起こります。どんな助けも大いに評価されるでしょう、私はかなり長らくイライラしています。あなたは
class FooManager(models.Manager):
def create_foo(self, name):
return self.create(foo_name = name)
いいえ、申し訳ありませんが、私の貧しい例のせいです。私の実際のコードでは、私はマネージャーに自己を置く。私の実際のコードを置くべきでしょうか、それは助けになるのでしょうか? – innospark