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

标签 python django django-forms

我创建了一个简单的模型

class Person(models.Model):
    name = models.CharField(max_length=25)
    surname = models.CharField(max_length=25)
    birth_date = models.DateField()
    ...

和一个简单的ModelForm

class PersonForm(ModelForm):
class Meta:
    model = Person

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

最佳答案

来自文档:

# 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

关于python - Django 如何将初始对象设置为 ModelList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9039936/

相关文章:

python - Entry().get() 在 Python 3.4 中不起作用

python - 查询数据库以接收对象数组

python - 当本地主机正在工作时,我无法通过 IP 地址看到我的 Python Django 服务器

django - 类型错误 : autodiscover_tasks() missing 1 required positional argument: 'packages' . celery

django - 将 bootstrap 应用到 django 注册页面

python - 如何使 django 评论模型字段不需要站点

python - pip 不支持使用 sudo 的 PIP_INDEX_URL

python - Maya Python 更新属性

Django:如果用户不是 super 用户,则在模板中隐藏按钮

javascript - 如何更新 Django 表单中的隐藏字段