Python 如何使用模型中的值初始化django表单

Python 如何使用模型中的值初始化django表单,python,django,Python,Django,我正在制作一个购物网站,我试图用产品信息初始化我的产品更新表单,但我无法将模型中的信息输入表单 模型功能 def get_product_details(product_id): product_details = Products.objects.filter(name=rproduct_id).select_related('name', 'description','price','qty') return product_details form.py class Up

我正在制作一个购物网站,我试图用产品信息初始化我的产品更新表单,但我无法将模型中的信息输入表单

模型功能

def get_product_details(product_id):
    product_details = Products.objects.filter(name=rproduct_id).select_related('name', 'description','price','qty')
    return product_details
form.py

class UpdateProductForm(forms.Form):

        name = forms.CharField(
        max_length=200,
        required=True,
        label="* name:",
        widget=TextInput(attrs={'class' : 'span6 small-margin-top small-margin-bottom'}),
    )
        description = forms.CharField(
        max_length=200,
        required=True,
        label="* description:",
        widget=TextInput(attrs={'class' : 'span6 small-margin-top small-margin-bottom'}),
    )
        price = forms.IntegerField(
        label="* price:",
        widget=TextInput(attrs={'class' : 'span6 small-margin-top small-margin-bottom'}),
    )
        qty = forms.IntegerField(
        label="* Qty:",
        widget=TextInput(attrs={'class' : 'span6 small-margin-top small-margin-bottom'}),
    )
view.py

def update_risk(request,product_id):

    product_details = get_product_details(product_id)


    name = form.cleaned_data['name'] 
    description = form.cleaned_data['description']
    price = form.cleaned_data['price']
    qty = form.cleaned_data['qty']

    form = UpdateProductForm(product_details)



    return render(
        request,
        template_name = 'products/forms/update_product_form.html',
        dictionary = {
            'form':form,
            'instr_text':instr_text
        }
    )
更新表格

<form method="POST" action="{% url 'products:update'%}">
    {% csrf_token %}
{{ form.name }}
{{ form.description }}
{{ form.price }}
{{ form.qty }}
</form>

{%csrf_令牌%}
{{form.name}
{{form.description}}
{{form.price}}
{{form.qty}

您可以使用ModelForms,ModelForms不仅设计用于匹配模型的字段,而且还可以使用模型中的数据轻松初始化

有关一般说明,请参见此处:

具体而言,如果表单是ModelForm,则可以执行以下操作:

>>> article = Article.objects.get(pk=1)
>>> form = ArticleForm(instance=article)

您可以使用ModelForms,它不仅设计用于匹配模型的字段,而且还可以使用模型中的数据轻松初始化

有关一般说明,请参见此处:

具体而言,如果表单是ModelForm,则可以执行以下操作:

>>> article = Article.objects.get(pk=1)
>>> form = ArticleForm(instance=article)

你看过吗?如果您只是更新模型,它将为您处理大部分表单处理。另外,
select\u related
仅在您选择关系时才有帮助-看起来您选择的是非关系字段。我只从一个表中获取字段不,我是django的新手,我没有查看更新查看您查看了什么?如果您只是更新模型,它将为您处理大部分表单处理。另外,
select_related
仅在您选择关系时有用-看起来您选择的是非关系字段。我只从一个表中获取字段不,我是django的新手,我没有查看更新视图