将项添加到django-cart(通过./manage shell)

时间:2011-02-26 20:34:03

标签: django

我想在我的django应用程序中将一个Item条目添加到我的数据库中,但是我遇到了问题。我还在学习django(谁不是?),但之前我已经完成了db条目。部分原因是因为购物车实例和内容类型实例。

一般来说我都是......

item1 = Item(Cart(...), ContentType(...), quanity='4',<etc.>)

根据我输入的内容,它会让我这样做,但当我做item1.save()时,它会对我大喊大叫,不幸的是,堆栈跟踪几乎没有帮助。或者,也许只是我。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

第一个建议是发布堆栈跟踪甚至是主要异常; 总是更有助于了解它在大喊大叫。

我的猜测首先是你传递了位置参数,模型不知道如何处理哪个参数。

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

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

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