Django如何将初始对象设置为ModelList?

min*_*ter 2 python django django-forms

我创建了一个简单的模型

class Person(models.Model):
    name = models.CharField(max_length=25)
    surname = models.CharField(max_length=25)
    birth_date = models.DateField()
    ...
Run Code Online (Sandbox Code Playgroud)

和一个简单的ModelForm

class PersonForm(ModelForm):
class Meta:
    model = Person
Run Code Online (Sandbox Code Playgroud)

如何将我已经拥有的Person对象(例如Person.objects.get(pk=1))放入表单的初始值?我需要编辑这个对象

rol*_*one 5

来自文档:

# 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)
Run Code Online (Sandbox Code Playgroud)

所以在你的情况下,在你的views.py中:

person = Person.objects.get(pk=1)
form = PersonForm(instance=person)
Run Code Online (Sandbox Code Playgroud)

https://docs.djangoproject.com/en/dev/topics/forms/modelforms/#modelform