是否为未强制执行的模型字段定义了选择?

时间:2014-02-21 03:25:03

标签: django django-models django-orm

所以我已经定义了一些字段作为选择:

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='hurhurhur').save()做任何错误或投诉。我错过了什么?

1 个答案:

答案 0 :(得分:5)

Django在验证模型时验证模型,或者显式调用modelinst.full_clean()调用modelinst.save()并不验证。