我有一个模型M
,它有一个字段num=models.IntegerField()
我有一个模型M
模型F
。
我想确保数字永远不会消极。模型验证。不想重复自己。 Django
如果我在窗体类,F
做验证,那么我就可以做clean_num()
: 如果为负则抛出ValidationError('Num can never be negative')
。 这ValidationError
将自动重新显示给用户由 重定向他回到他提交的形式,并显示 'Num永远不会是负面的'消息顶部的num
字段。 这一切都由django自动完成,只要我从clean_fieldname
方法抛出 ValidationError
。
我希望能够做到这一切,但在模型类。
F
是从模型类M
创建的ModelForm
。 M
定义 字段num
永远不能为负。
当我在窗体上调用is_valid()
时,我希望 模型中定义的函数检查引用此模型的任何ModelForm
的验证。
我该如何做到这一点?
注意,积极=非负! – wRAR
在django中,''PositiveIntegerField''也可以包含零值,因为它在数据库级别实现为''unsigned int''。这也在这里讨论:http://stackoverflow.com/questions/2248617/0-value-in-django-positiveintegerfield – dragoon