English 中文(简体)
为什么Django的一个空洞char场被解读为无能,而不是空洞?
原标题:why is an empty char field in Django read out as None and not an empty string?

我有这样的榜样:

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

我认为很奇怪的是,我刚刚从数据库读过,但没有任何修改,不能再回数据库。 我做了一些非常错误的事情? 解决这一问题的适当途径是什么?

问题回答

我只能想一想出现这种情况的情况:

您有一个现有模型,现有数据库条目。 之后,你增加了一个新的慈善领域,但忽略了为现有物品的使用提供违约。 当你询问一个现有项目时,Char Field不会有价值,但也不会被允许成为NUL,你会发现正直错误。

如果这种声音很熟悉,你就应当能够在添加外地时简单地说明违约值(即使它只是<代码>)。





相关问题
Can Django models use MySQL functions?

Is there a way to force Django models to pass a field to a MySQL function every time the model data is read or loaded? To clarify what I mean in SQL, I want the Django model to produce something like ...

An enterprise scheduler for python (like quartz)

I am looking for an enterprise tasks scheduler for python, like quartz is for Java. Requirements: Persistent: if the process restarts or the machine restarts, then all the jobs must stay there and ...

How to remove unique, then duplicate dictionaries in a list?

Given the following list that contains some duplicate and some unique dictionaries, what is the best method to remove unique dictionaries first, then reduce the duplicate dictionaries to single ...

What is suggested seed value to use with random.seed()?

Simple enough question: I m using python random module to generate random integers. I want to know what is the suggested value to use with the random.seed() function? Currently I am letting this ...

How can I make the PyDev editor selectively ignore errors?

I m using PyDev under Eclipse to write some Jython code. I ve got numerous instances where I need to do something like this: import com.work.project.component.client.Interface.ISubInterface as ...

How do I profile `paster serve` s startup time?

Python s paster serve app.ini is taking longer than I would like to be ready for the first request. I know how to profile requests with middleware, but how do I profile the initialization time? I ...

Pragmatically adding give-aways/freebies to an online store

Our business currently has an online store and recently we ve been offering free specials to our customers. Right now, we simply display the special and give the buyer a notice stating we will add the ...

Converting Dictionary to List? [duplicate]

I m trying to convert a Python dictionary into a Python list, in order to perform some calculations. #My dictionary dict = {} dict[ Capital ]="London" dict[ Food ]="Fish&Chips" dict[ 2012 ]="...

热门标签