在我的模板中,我使用了一些字段的循环
<div class="register_div">
<p>Title:</p>
<p>{{ form.title }}</p>
</div>
<div class="register_div">
<p>Upload Images :</p>
<p>{{ form.image }}</p>
</div>
{% for item in product %}
<div class="register_div">
<p>{{ item.Name }} <input type="text" name="custom[{{item.id}}]"/></p>
</div>
{% endfor %}
<div class="register_div">
<p>Price:</p>
<p>{{ form.price }}</p>
</div>
代码显示有一个字段使用for循环,如果该字段有三个记录,那么在表单中它显示三个文本框,以便用户可以将数据提供给所有三个字段,但我的数据库中的表只有一个col他的身份和他的vaue。
所以我如何将数据提供给我的数据库,这样如果用户感觉到所有三个文本框,那么它可以很容易地存储到我的数据库中。 如果有可能通过三次重复输入标题,图像和价格那么它可以,但它应该有三个不同的项目名称和相应的值。
e.g。
如果有来自for循环的三个项目名称,则用户看到的是。
title
image
item 1 ---> its vaue
item 2 ---> its vaue
item 3 ---> its vaue
price
现在它应该存储在数据库中,如
id title image item_name item_value price
1 asd a.jpg item1 value 1 1111
2 asd a.jpg item2 value 2 555
3 asd a.jpg item3 value 3 789
或者还有其他有效方法可以让我知道
答案 0 :(得分:1)
执行此操作的“有效方法”是确保模型与此数据匹配,然后使用Model FormSets。
如果由于某些神秘的原因,您不想定义与您的数据匹配的模型,则可以改为使用普通formsets。
如果您不熟悉Django forms,我强烈建议您先尝试先了解这些内容。 This answer by yours truly对django表格进行了相当全面的演练。