这是我的代码:
class Order(TimeStampedModel):
user = models.ForeignKey(settings.AUTH_USER_MODEL)
merchant_uid = models.CharField(max_length=30, unique=True)
imp_uid = models.CharField(max_length=30)
from_cart = models.BooleanField()
class Meta:
ordering = ('-created',)
def __str__(self):
return self.merchant_uid
但奇怪的是,
Order.objects.create(user=request.user, from_cart=True)
有效(views.py
)。
order = Order(user=request.user, from_cart=True)
和order.save()
也有效。
我没有在blank=True
,null=True
字段设置merchant_uid
和imp_uid
,这意味着required
字段。
但是如何在没有这些字段的情况下创建模型呢?
答案 0 :(得分:1)
值保留为空。因为null=False
,Django不会为这些字段将空值存储为null
,而是数据库使用空字符串(''
)作为无法获取值的varchar列
blank
用于验证,例如验证ModelForm时。它与数据库约束无关。你这里没有做任何验证,所以它没有关系。