我想在我的模板中添加一个隐藏的输入,其中包含我的模型ID。这就是我所拥有的:
models.py:
class MyModel(models.Model):
name = models.CharField(max_length=10)
class MyModelForm(ModelForm):
class Meta:
model = MyModel
fields = ['name']
widgets = {
'name': TextInput(),
}
的index.html:
{{ form.name.label_tag }}
{{ form.name }}
这很好用,并显示带有文本输入的简单表单。我想要做的是添加一个包含模型ID的隐藏输入。我试过了:
models.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(),
}
的index.html:
{{ form.name.label_tag }}
{{ form.name }}
{{ form.id }}
但它不起作用。如果可能,我想避免手动执行此操作:
的index.html:
{{ form.name.label_tag }}
{{ form.name }}
<input type="hidden" name="id" value="{{ form.instance.id }}">
谢谢!
更新
我的总体目标是拥有一个可以编辑现有模型的表单。所以我使用ORM检索模型并将其显示在表单上。当我提交表单来更新对象时,我需要知道它的id,以便ORM知道要更新的对象。谢谢!