Python 是否有方法获取查询/存储过程字段并将其作为不可编辑字段与其他可编辑字段一起传递给表单? 视图: 表格: 模板: {%用于应答请求%}

Python 是否有方法获取查询/存储过程字段并将其作为不可编辑字段与其他可编辑字段一起传递给表单? 视图: 表格: 模板: {%用于应答请求%},python,django,forms,Python,Django,Forms,______________________________________________________________ {{answers.5}} {{answers.6}} 问题编号:{{answers.8}} {%csrf_令牌%} {{form.as_p}} 标签 提交答案{{answers.8} {%endfor%} {%endif%} 目前,上面创建了一个名为“answer”的空白表单字段(很好,因为这由用户完成,然后发布到db,但接下来的两个字段“consumer”和“que

______________________________________________________________

  • {{answers.5}}
  • {{answers.6}}

    问题编号:{{answers.8}}
    {%csrf_令牌%} {{form.as_p}} 标签 提交答案{{answers.8} {%endfor%} {%endif%}
    目前,上面创建了一个名为“answer”的空白表单字段(很好,因为这由用户完成,然后发布到db,但接下来的两个字段“consumer”和“question”是模型中所有实例的下拉列表)。希望“consumer”和“question”字段与查询结果不可编辑,以便将它们发布到数据库。当表单上方的循环成功迭代并显示输出时,查询在表单外部工作正常,我只想将其放入表单中。提前感谢您的帮助。

    我自己解决了这个问题,考虑到以下几点:

    q=str(回答请求[1][0]) form.fields[“question”].queryset=question.objects.filter(question\u id=q)

    def post(self, request):
        form = AnswerForm(request.POST) 
        if form.is_valid():
            post = form.save(commit=False)    
            post.save()
            messages.success(request, 'Thank you for your request')
            return redirect('consumer_answer')
    
        args = {'form':form} 
        return render(request, self.template_name, args)      
    
    class AnswerForm(forms.ModelForm):
        question1 = forms.ModelChoiceField(queryset = Question.objects.all())
        class Meta:
            model = Answer
            fields = ['answer', 'consumer']
    
    {% for answers in answer_request %}  
      <p>______________________________________________________________</p>
    
      <b><li> {{answers.5}}</li></b>
      <i><p> {{answers.6}}</p></i>
      Question ID: {{answers.8}}<br>
    
      <form method="post">
            {% csrf_token %}
            {{form.as_p}}
            <select id="question1">
              <option value= {{ answers.8 }}> Label </option>
            </select>
            <button type="submit">Submit Answer {{answers.8}}</button>
          </form>
    
    {% endfor %}
    </ol>
    {% endif %}