我试图从一个表格中获取数据,该表格是根据一个列表复制多次的。每个项目一张表格。表单由一个复选框和一个文本字段组成。如果复选框被选中,那么我也需要附带的textfield数据。你知道吗
我问了一个相关的问题:
Django validation error u"'' value must be a decimal number."
这个问题基本解决了,但现在我有了一个新问题。你知道吗
查看:
for item in request.POST.getlist('item_list'):
item_id = int(item)
item = Item.objects.get(id=item_id)
item_name = item.name
print item_name
list = List(name = item_name, created_on = now, edited_on = now)
for price in request.POST.getlist('price'):
if not price:
continue
print price
list_item.price = Decimal(price)
list_item.save()
item.delete()
上面没有显示,但是now = timezone.now()
。你知道吗
模板:
<form action="" method="post">
{% csrf_token %}
{% for item in item_list %}
<input type="checkbox" name="item" value="{{item.id}}">{{item.name}} <input type="text" name="price"><br>
{% endfor %}
<input type="submit" value="Add Items">
</form>
当我提交表单时,它会在两个循环中运行两次,所有项目的最终价格都是相同的。我通过在代码中插入打印函数并分析显示的内容来确定这一点。我想我知道问题在哪里,问题是如何纠正它,任何帮助都将不胜感激。你知道吗
您的模板多次重复以下行:
它创建了一个窗体,其中每行的字段
item
和price
都是重复的。这不是创建窗体的好方法。你知道吗相反,为
name=
属性生成具有唯一值的行。例如然后回到您的视图中,使用此循环查找匹配对:
相关问题 更多 >
编程相关推荐