Django создает модель объекта и список, не сохраняя его

У меня например что-то вроде этого:

class Order(models.Model):
    user= models.ForeignKey(User)

class OrderLines(models.Model):
    product = models.ForeignKey(Product)
    quanity = models.PositiveSmallIntegerField()
    order = models.ForeignKey(Order)

Теперь на моей странице хочется сделать что-то подобное (возможно, мой подход в дизайне неверен):

  1. Я получаю данные POST с product_id и quanity и сохраняю их в виде простого словаря в сеансе как переменную 'ORDER_LINES'
  2. Когда пользователь нажимает "Сделать заказ", я хочу создать Order возразить просто:

(Я использую общие представления)

class ShowOrderPreview(TemplateView):
    template_name = "shop/order_preview.html"
    http_method_names = ['get']

    def get_context_data(self, **kwargs):
        context = super(ShowOrderPreview, self).get_context_data(**kwargs)
        order = Order(user = self.request.user)
        for product, quanity in self.request.session.get('ORDER_LINES', {}):
            order.orderlines_set.add( product=get_object_or_404(Product, pk=product_id), quanity=quanity)
        context['tmp_order'] = order
        return context

Я не хочу, чтобы этот заказ сохранялся в базе данных, и только после подтверждения пользователя создайте его снова и сохраните.

Я получаю: "Column 'order_id' cannot be null" онлайн order.orderlines_set.add(...

Я знаю, что самым быстрым решением будет создать что-то вроде DummyOrder а также DummyOrderLines со структурой, как Сэм, как мой главный Order а также OrderLines объект

я использую Django 1.4.1,

0 ответов

Другие вопросы по тегам