【问题标题】:Django not raising error when creating object without passing required fieldsDjango在创建对象而不传递必填字段时不会引发错误
【发布时间】:2012-08-03 08:19:28
【问题描述】:

我有一个这样的 Django 模型:

class Registration(models.Model):
    appId =models.CharField(max_length = 100)
    registeredUser = models.ForeignKey('auth.User', null=True, blank=True)

当我使用 python manage.py shell 进入 Django Shell 界面并尝试在不传递 appId 字段(这是必填字段)的情况下创建一个注册对象时:

Registration.objects.create(registeredUser = userobject)

它创建了一个注册对象而不给我错误你不能将appId(一个不可为空的字段)设置为无!。这是怎么回事?为什么它没有给我错误?什么我做错了还是遗漏了什么?

【问题讨论】:

    标签: django django-models


    【解决方案1】:

    Registration 对象的 appID 的值为 ''(即空字符串)。

    另外,看看the docs for the null option,你会发现没有空选项并不意味着该字段不可为空。相反,null=True 表示空值在数据库中存储为 NULL。

    如果您想避免空字符串,请向该模型字段的验证添加规则,或通过您的表单。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-12
      • 2016-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-12
      相关资源
      最近更新 更多