所以我有以下代码:
class MyModel(models.Model):
# Text language.
ENGLISH = 'eng'
FRENCH = 'fr'
LANGUAGES_CHOICES = [
(ENGLISH, 'English'),
(FRENCH, 'French'),
]
language = models.CharField(
max_length=max(len(language) for language in LANGUAGES_CHOICES),
choices=LANGUAGES_CHOICES,
blank=False,
null=True)
当我执行MyModel(language='invalid').save()
或MyModel.objects.create(language='invalid')
时,模型会毫无怨言地保存。是否有任何方便方法等同于Model.objects.create
在保存之前执行full_clean
的方法?
答案 0 :(得分:1)
如果您使用的是模型表单,full_clean
将作为表单验证步骤的一部分进行调用。
一般来说,没有一种方便的方法可以调用full_clean
,但你可以编写自己的方法。
答案 1 :(得分:0)
Model.clean():此方法应用于提供自定义模型验证,并根据需要修改模型上的属性。例如,您可以使用它自动为字段提供值,或者进行需要访问多个字段的验证: