Django - 使用用户构建模型对象

时间:2017-05-31 17:03:28

标签: python django constructor model

我有以下型号:

from __future__ import unicode_literals
from django.db import models
from cms.models import Item
from django.contrib.auth.models import User

class Cart(models.Model):  
    owner = models.ForeignKey(User, on_delete=models.CASCADE)  
    items = models.ManyToManyField('cms.Item')

我尝试用两种不同的方式构造这种类型的对象。方法1:

cart = Cart(owner=request.user)
cart.save()

方法2:

cart = Cart()
cart.owner = request.user
cart.save()

第一种方式有效,第二种方法生成NOT NULL约束失败错误。为什么会这样?

1 个答案:

答案 0 :(得分:0)

这是因为他拥有的Django模型构造函数检查字段并且看到所有者字段不是空字段而不是空白。他希望这个领域不是空白,因为他错了。但是构造函数在调用中没有价值,并且他在这个字段上放置了null,但这是错误的。他提出错误。 对不起我的语言不好。