我有这样的模特:
class A(models.Model):
some_field = models.CharField(max_length=50, default='bbb')
如果我像这样创建新对象:
a1 = A()
a2 = A(some_field="ccc")
print "a1 {}".format(a1.some_field)
print "a2 {}".format(a2.some_field)
我应该
a1 bbb
a2 ccc
答案 0 :(得分:0)
技术上是的,但这看起来不像你试图做的那样你提到的“some_field是必需的”。如果要允许表单接受空白值,则必须将some_field
设置为接受空白值。您需要将blank=True
添加到字段构造函数中,以便验证将通过,并且将在数据库中使用默认值。
您也永远不会保存这些对象,因此实际上并未在数据库中创建它们。
答案 1 :(得分:0)
这取决于你想要做什么。如果您不打算在表单中使用“模型”字段,则无需添加blank=True
。 default
值足以在数据库中使用该值保留字段(如果没有给出)。
另一方面,如果您打算使用模型表单中的字段,则需要将blank=True
添加到模型中,或required=False
添加到模型中的字段。
现在与你的问题有关,是的。如果您尝试这样做,那正是您应该得到的。