如果我尝试在Django 1.10中保存不完整的模型实例,我会期望Django引发错误.似乎并非如此.
models.py:
from django.db import models
class Essai(models.Model):
ch1 = models.CharField(max_length=100, blank=False)
ch2 = models.CharField(max_length=100, blank=False)
Run Code Online (Sandbox Code Playgroud)
所以我有两个字段不允许为空(默认行为,NOT NULLDjango在MySQL表创建时应用了限制).我希望Django在存储之前没有设置其中一个字段时会出错.
但是,当我创建一个不完整的实例时,数据存储得很好:
>>> from test.models import Essai
>>> bouh = Essai()
>>> bouh.ch1 = "some content for ch1"
>>> bouh.save()
>>> bouh.id
9
>>> bouh.ch1
'some content for ch1'
>>> bouh.ch2
''
>>>
Run Code Online (Sandbox Code Playgroud)
我原本以为Django会引发错误.但是,如果我强制ch2使用None,则会引发错误:
>>> bouh = Essai()
>>> bouh.ch1 = "some content for ch1"
>>> bouh.ch2 = None
>>> bouh.save()
Traceback (most recent call last): …Run Code Online (Sandbox Code Playgroud)