如何在Django中从views.py获取Option表内存储的option2数据
问题核心澄清
你保存数据时使用的option2只是Python视图层的临时变量名,不会存入数据库,所有通过该实例写入的数据都属于Option表的普通记录,无需按「option2」这个变量名查询,只需按你写入时带入的字段特征筛选即可。
实现方案
第一步:视图层查询数据
你存入这些记录时绑定了product_code字段,且name字段来自表单的second_option,可以直接用Django ORM按特征筛选:
# 视图中查询对应数据的示例代码 if request.method == "GET": # 这里的product替换为你实际要匹配的产品编码/实例 option_object = Option.objects.filter(product_code=product) # 渲染模板时传入queryset return render(request, "你的模板文件名.html", {"option_object": option_object, "product": product, "value": value})
优化建议:如果需要严格区分不同类型的Option记录,可给Option模型新增
option_type字段,存入时设置option2.option_type = "option2",后续查询直接加筛选条件filter(option_type="option2", product_code=product)即可,避免和其他Option记录混淆。
第二步:修正模板层代码
你当前的模板代码存在两个问题:
- 将
<select>标签写在循环内,会重复生成多个下拉框 - 标签未正确闭合
修正后的模板代码参考:
<select type="text" class="form-control" id="optionSelect"> <option value="none">옵션을 선택하세요.</option> {% for option in option_object %} {% if option.option_code.option_code == value.option_code and option.product_code == product %} <optgroup label="{{option.name}}"> <!-- 这里补充optgroup对应的子option项逻辑 --> </optgroup> {% endif %} {% endfor %} </select>
内容的提问来源于stack exchange,提问作者Rhdehd
相关产品推荐
相关产品推荐

