Django强制空字段

时间:2013-12-30 16:02:22

标签: python django null

我很好奇你是否可以在django模型中强制使用空字段。采用以下模型:

class FooBar(models.Model):
    some_field = models.CharField(max_length=30, null=True)  

基本上some_field是必填字段,因为我没有指定blank=True或默认值,但问题是我将如何将其设为空

我唯一的想法是使用以下内容创建对象:

FooBar(some_field__isnull=True)

但我不知道这是否属实,目前无法测试,因为我没有使用自己的电脑,宁愿不用安装python和django。

这样做的实际原因

有人想要这样做的原因更多的是get_or_create情况。在大多数项目中,当blank=True时总是null=True,因此通常不需要强迫它。但是,如果您需要使用字段必须为空get_or_create,则必须使用some_field__isnull=True。我只能在get而不是create中找到这种类型的代码,所以我无法判断FooBar.objects.get_or_create(some_field__isnull=True)是否真的是有效的代码。

1 个答案:

答案 0 :(得分:3)

使用None将字段设置为NULL

foobar = FooBar(some_field=None)