Я пытаюсь выполнить некоторую выборочную проверку на модели, и я запутался. Позвольте мне быть конкретным. Скажем, мой код выглядит следующим образом:
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 ("")
Он поднимет ошибку проверки, прежде чем я получу возможность вызвать save() на f. Почему это происходит? Не следует ли поднимать ошибку проверки только после вызова f.save()?
Примечание. То же самое происходит, если я использую objects.create() в отличие от настраиваемого метода создания. Любая помощь будет принята с благодарностью, поскольку я считаю, что проверки в джанго довольно расстраивают.