在我的Django项目中,我有产品目录,在models.py中看起来如何:
class Category(models.Model):
category = models.CharField(max_length=15)
description = models.CharField(max_length = 1000)
class Product(models.Model):
name = models.CharField(max_length=15)
description = models.CharField(max_length=1000)
category = models.ForeignKey(Category)
这是产品详细信息视图。
def ProductDetailView(request, pk):
productdetail = get_object_or_404(Product, pk=pk)
return render(request, 'product/detail.html', {'productdetail':productdetail})
这是产品详情视图的urls.py:
url(r'^(?P<pk>[0-9]+)/$', views.ProductDetailView, name='detail'),
现在我需要在产品详细信息页面上添加一个订单按钮。当用户单击此按钮时,带有订单的数据必须保存到数据库中,因此我创建了一个新模型:
class Order(models.Model):
order_id = models.AutoField(primary_key=True, unique=True)
customer_name = models.CharField(max_length=20)
email = models.CharField(max_length=50)
product = models.ForeignKey(Product)
我从表单中获取此模型的所有数据,但我不知道如何获取当前产品字段。如果你能帮助我,我将感激不尽。
答案 0 :(得分:1)
您可以将当前商品ID添加到HTML(按模板标签)。例如,作为隐藏表单字段:
<input id="id_current_item_id" name="current_item_id" type="hidden"
value="{{ current_item.id }}"/>
答案 1 :(得分:0)
尝试
<input name="prouct_id" id="id_product" type="hidden" value="{{product.id}}">
并提交订单。您将获得产品ID。