将模型的id放入temp中的隐藏输入中

2024-04-25 00:13:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在包含模型id的模板中添加一个隐藏的输入。这是我所拥有的:

你知道吗型号.py地址:

class MyModel(models.Model):
    name = models.CharField(max_length=10)

class MyModelForm(ModelForm):
    class Meta:
        model = MyModel
        fields = ['name']

        widgets = {
            'name': TextInput(),
        }

你知道吗索引.html地址:

{{ form.name.label_tag }}
{{ form.name }}

这可以很好地工作,并显示一个带有文本输入的简单表单。我要做的是添加一个包含模型id的隐藏输入。我尝试了:

你知道吗型号.py地址:

class MyModel(models.Model):
    name = models.CharField(max_length=10)

class MyModelForm(ModelForm):
    class Meta:
        model = MyModel
        fields = ['name', 'id']

        widgets = {
            'name': TextInput(),
            'id': HiddenInput(),
        }

你知道吗索引.html地址:

{{ form.name.label_tag }}
{{ form.name }}
{{ form.id }}

但它不起作用。如果可能,我希望避免手动执行此操作:

你知道吗索引.html地址:

{{ form.name.label_tag }}
{{ form.name }}
<input type="hidden" name="id" value="{{ form.instance.id }}">

谢谢!你知道吗

更新

我的总体目标是拥有一个编辑现有模型的表单。所以我使用ORM检索一个模型并在表单上显示它。当我提交表单来更新对象时,我需要知道它的id,以便ORM知道要更新哪个对象。谢谢!你知道吗


Tags: namepy模型formid表单modelmodels