Добавление товара в django-cart (через ./manage shell) - PullRequest
0 голосов
/ 26 февраля 2011

Я хотел бы добавить запись Item в свою базу данных в моем приложении django, но у меня возникли проблемы.Я все еще изучаю джанго (а кто нет?), Но я уже делал записи в БД.Частично это связано с такими вещами, как экземпляр корзины и экземпляры типа содержимого.

Обычно я начинаю с ...

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

И в зависимости от того, что я вставляю, это позволяетэто, но когда я делаю item1.save(), он кричит на меня, и, к сожалению, трассировка стека вряд ли поможет.Или, может быть, это только я.

Есть предложения?

1 Ответ

1 голос
/ 26 февраля 2011

Первое предложение - опубликовать трассировку стека или даже просто основное исключение; всегда более полезно знать, что он кричит.

Сначала я предполагаю, что вы передаете позиционные аргументы, а модель не знает, что делать с каким аргументом.

Мое второе предположение заключается в том, что вы передаете в несохраненных экземплярах Item(Cart()...) полям внешнего ключа, которые не могут быть обнулены, поэтому django или база данных будут жаловаться, если вы не передадите действительный экземпляр Cart с определенным идентификатором.

Итак, явно определите, какие поля вы передаете в конструктор, и убедитесь, что вы передаете в сохраненных экземплярах (не Cart(), а Cart.objects.get(id=X))

cart = Cart.objects.latest('id')
item = Item(cart=cart, etc.)
item.save()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...