我有这样的榜样:
class Item(models.Model):
text = model.CharField(max_length=50)
extra_text = model.CharField(max_length=50, blank=True)
请允许我说,有一个标语的例子,即extra_text
是空白的,因此,在数据库中,它被储存为空洞的<代码>。
我读了这个目标,例如:
myitem = Item.objects.get(id=1)
现在我检查一下<条码>米项目.extra_text的价值,而不是<条码>条码>,但<条码> (在IPython壳中):
In [36]: myitem.extra_text ==
Out[36]: False
In [37]: myitem.extra_text == None
Out[37]: True
In [38]: myitem.extra_text is None
Out[38]: True
Shouldn t it be
at this point? It is
in the database, as it is not allowed to be NULL
.
我的问题是,不能将此类物体从数据库中解救出来,因为如果我尝试:
In [39]: myitem.save()
<skipping Traceback>
IntegrityError: null value in column "extra_text" violates not-null constraint
我认为很奇怪的是,我刚刚从数据库读过,但没有任何修改,不能再回数据库。 我做了一些非常错误的事情? 解决这一问题的适当途径是什么?