向django购物车添加项目(通过./manage shell)

向django购物车添加项目(通过./manage shell),django,Django,我想在django应用程序的数据库中添加一个条目,但我遇到了问题。我还在学习django(谁不是?),但我以前做过db条目。部分原因是因为cart实例和contenttype实例 一般来说,我从 item1 = Item(Cart(...), ContentType(...), quanity='4',<etc.>) item1=Item(购物车(…),ContentType(…),quantity='4',) 根据我输入的内容,它会允许我这样做,但当我执行item1.save(

我想在django应用程序的数据库中添加一个条目,但我遇到了问题。我还在学习django(谁不是?),但我以前做过db条目。部分原因是因为cart实例和contenttype实例

一般来说,我从

item1 = Item(Cart(...), ContentType(...), quanity='4',<etc.>)
item1=Item(购物车(…),ContentType(…),quantity='4',)
根据我输入的内容,它会允许我这样做,但当我执行
item1.save()
时,它会对我大喊大叫,不幸的是堆栈跟踪几乎没有帮助。或者,也许只是我


有什么建议吗?

第一个建议是发布stacktrace,甚至只是发布主要的例外;知道它在喊什么总是更有帮助的

我的猜测是,首先,您正在传递位置参数,而模型不知道如何处理哪个参数

我的第二个猜测是,您正在将未保存的实例
Item(Cart()…)
传递给不可为空的外键字段,因此,如果您没有传递定义了ID的实际
Cart
实例,django或数据库会抱怨

因此,明确定义要传递给构造函数的字段,并确保传递的是已保存的实例(不是
Cart()
,而是
Cart.objects.get(id=X)

cart = Cart.objects.latest('id')
item = Item(cart=cart, etc.)
item.save()