0

我有这样的模型:

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

?

4

2 回答 2

0

从技术上讲是的,但这看起来不像您从您提到“需要一些字段”的错误中尝试做的事情。如果要允许表单接受空白值,则必须设置some_field为接受空白值。您需要添加blank=True到您的字段构造函数,以便验证通过并在数据库中使用默认值。

您也永远不会保存这些对象,因此它们实际上并没有在数据库中创建。

于 2013-04-29T13:55:44.537 回答
0

这取决于你想要做什么。blank=True如果您不打算在表单中使用 Model 字段,则无需添加。default如果没有给出值,值将足以使用该值在数据库中保存该字段。

另一方面,如果您打算使用模型表单内的字段,那么您将需要添加blank=True到您的模型或模型required=False中的字段。

现在与您的问题有关,是的。如果您尝试这样做,那正是您应该得到的。

于 2013-04-29T14:07:04.823 回答