积极地用Django插入NULL(不是空白的!)



Null不是空字符串!

select count(*) from table where xyz is nullselect count(*) from table where xyz == ''不一样!

如果我对列有唯一的约束,则可以存在多个 NULL 值。多个空字符串不能!

我知道有什么区别。我不需要解释。我想知道的只是如何在 Django 管理员中插入NULL值。

我试过:

default=None
null=True

不,我不要blank.我要NULL.

当我查看迁移中的架构时,我清楚地看到列允许NULL

那么,动态类型python中繁琐的小语法是什么,似乎被那些不了解约束是什么的人的SEO所困扰?

此字段为必填字段。

不,不是。我可以从表格结构中清楚地看到这一点。

你还必须提供blank=True,所以 django admin 将允许你设置空字符串。

例如,我在这个模型上测试了它:

class NullFieldModel(models.Model):
    title = models.CharField(max_length=100, null=True, default=None, blank=True)

它与SQLite一起工作。以下查询用新模型回复我:

SELECT * FROM testapp_nullfieldmodel WHERE testapp_nullfieldmodel.title IS NULL

当 Django 向 MySQL 发送 NULL 字段的更新时,它不会将其作为 NULL 插入(当您在管理员中时(。

例如您有一个openid_key字段,它是用户 openid url 的 url。此 URL 必须是唯一的,并且应

标记为唯一的数据库完整性。

您进入管理员并编辑用户,他们没有openid_key。你保存用户,一切都很好。

您进入管理员并编辑其他用户,他们没有openid_key,您保存用户。SQL抛出了一个关于键需要是唯一的契合。

Django 试图在这个字段中插入 " 而不是 NULL。

相关内容

  • 没有找到相关文章

最新更新