3
我有Django的对象有一个选择字段Django的模型选择不涨价错误无效的选择
class CustomFieldType(models.Model):
STRING = 'STRING'
DATE = 'DATE'
BOOLEAN = 'BOOLEAN'
NUMERIC = 'NUMERIC'
EMAIL = 'EMAIL'
TYPE_CHOICES = (
(STRING, _('String')),
(DATE, _('Date')),
(BOOLEAN, _('Boolean')),
(NUMERIC, _('Numeric')),
(EMAIL, _('Email'))
)
name = models.CharField(max_length=256)
field_type = models.CharField(choices=TYPE_CHOICES, default=STRING, max_length=10)
company = models.ForeignKey('Company')
class Meta:
unique_together = ('name', 'company')
def __unicode__(self):
return self.name
在我的Django控制台
$> CustomFieldType.objects.create(name='custom_name',field_type='noError',company=mycompany)
<CustomFieldType: custom_name>
$> CustomFieldType.objects.get(name='custom_name').field_type
u'noError'
为什么Django是不会引发错误(ValidationError )?或者我错过了什么?
有什么办法可以强制验证吗? – user1631075
@ user1631075数据库不应该验证任何内容。数据输入到数据库之前,所有验证都应该发生。如果你期望你的数据库进行验证,那么你的设计是畸形的。 – Diemuzi