inn*_*ark 32 django django-models django-validation
我正在尝试对模型执行一些自定义验证,我感到困惑.让我具体一点.假设我的代码如下:
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)
Run Code Online (Sandbox Code Playgroud)
现在,当我从shell使用这个模型时,如果我打电话:
f = Foo.objects.create_foo("")
在我有机会在f上调用save()之前,它会引发验证错误.为什么会这样?一旦调用f.save(),是否应该仅提出验证错误?
注意:如果我使用objects.create()而不是自定义的create方法,则会发生同样的事情.任何帮助将不胜感激,因为我发现django中的验证相当令人沮丧.
您忘记添加self您的经理
class FooManager(models.Manager):
def create_foo(self, name):
return self.create(foo_name = name)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15013 次 |
| 最近记录: |