Django如何为ModelList设置初始对象?
我创建了一个简单的模型
class Person(models.Model):
name = models.CharField(max_length=25)
surname = models.CharField(max_length=25)
birth_date = models.DateField()
...
还有一个简单的模型表单
class PersonForm(ModelForm):
class Meta:
model = Person
我该如何把一个已经存在的Person对象(比如说 Person.objects.get(pk=1)
)作为表单的初始值呢?我需要编辑这个对象。
1 个回答
8
来自文档的内容:
# Creating a form to add an article.
>>> form = ArticleForm()
# Creating a form to change an existing article.
>>> article = Article.objects.get(pk=1)
>>> form = ArticleForm(instance=article)
所以在你的情况中,在你的 views.py 文件里:
person = Person.objects.get(pk=1)
form = PersonForm(instance=person)
https://docs.djangoproject.com/en/dev/topics/forms/modelforms/#modelform