2

在我的模板中,我对某些字段使用了 for 循环

<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 循环,然后在表单中显示三个文本框,以便用户可以将数据提供给所有三个字段,但我在数据库中的表只有一个列作为他的 id 和一个为他的价值。

那么我如何将数据提供给我的数据库,以便如果用户感觉到所有三个文本框,那么它可以很容易地存储到我的数据库中。如果标题、图片和价格三个重复条目是可能的,那么没关系,但它应该有三个不同的项目名称和对应的值。

例如

如果有三个项目名称来自 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

或者有任何其他有效的方法可以做到这一点,请告诉我

4

1 回答 1

1

执行此操作的“有效方法”是确保您的模型与此数据匹配,然后使用Model FormSets

如果出于某种神秘的原因,您不想定义模型以匹配您的数据,则可以使用普通表单集

如果您不熟悉Django 表单,我强烈建议您先尝试了解这些。您的这个答案确实对 django 表单进行了相当全面的演练。

于 2012-10-11T06:30:29.177 回答