我有这样的事情:
class Order(models.Model):
user= models.ForeignKey(User)
class OrderLines(models.Model):
product = models.ForeignKey(Product)
quanity = models.PositiveSmallIntegerField()
order = models.ForeignKey(Order)
现在在我的页面上想要做那样的事情(也许我的设计方法是错误的):
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
。