我有这样的模型:
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 cc
?
我有这样的模型:
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 cc
?
从技术上讲是的,但这看起来不像您从您提到“需要一些字段”的错误中尝试做的事情。如果要允许表单接受空白值,则必须设置some_field
为接受空白值。您需要添加blank=True
到您的字段构造函数,以便验证通过并在数据库中使用默认值。
您也永远不会保存这些对象,因此它们实际上并没有在数据库中创建。
这取决于你想要做什么。blank=True
如果您不打算在表单中使用 Model 字段,则无需添加。default
如果没有给出值,值将足以使用该值在数据库中保存该字段。
另一方面,如果您打算使用模型表单内的字段,那么您将需要添加blank=True
到您的模型或模型required=False
中的字段。
现在与您的问题有关,是的。如果您尝试这样做,那正是您应该得到的。