我很好奇你是否可以在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)
是否真的是有效的代码。
答案 0 :(得分:3)
使用None
将字段设置为NULL
:
foobar = FooBar(some_field=None)