Django 模型中的必填字段不是必需的



我有以下Django模型:

class Customer(models.Model):
    email = models.EmailField(unique=True)

在我的测试用例中,我在没有电子邮件的情况下实例化它。

class CustomerTestCase(TestCase):
    def test_that_customer_can_be_created_with_minimum_data(self):
        customer = Customer.objects.create()
        print(customer.__dict__)

我希望它会引发错误,但它会创建一个带有空字段的记录 email.如果我明确地说null=Falseblank=False,也会发生同样的事情.相反,它只是打印空电子邮件。

{'email': ''}

我错过了什么?

您缺少在保存时未运行验证的事实 - 请参阅验证文档:

请注意,保存模型时不会自动运行验证程序,但如果使用的是 ModelForm,它将对表单中包含的任何字段运行验证程序。

正如该文档所暗示的那样,通常在表单的上下文中进行验证。

相关内容

  • 没有找到相关文章

最新更新