如何在modelform中给出初始值
Posted
技术标签:
【中文标题】如何在modelform中给出初始值【英文标题】:How to give initial value in modelform 【发布时间】:2010-11-06 11:23:12 【问题描述】:如何为 ModelForm 中的字段分配初始值?例如:
class Form1(forms.Form):
title=forms.CharField(initial="hello")
使用 modelForm 的等价物是什么,其基本语法类似于:
class Form2(djangoforms.ModelForm):
class Meta:
model=SomeModel
fields=('title',)
我想要做的是生成一个 CRUD。由于我在 appengine 项目中执行此操作,因此无法使用通用视图。 Appengine 为我们提供了djangoforms.ModelForm
,它的工作原理与 django 的 ModelForm
类似,但使用的是 appengine 的数据存储区。
我需要上述功能来完成“编辑”部分。
【问题讨论】:
相关:***.com/q/604266/212218 【参考方案1】:通常,您会将正在编辑的模型对象作为实例关键字 arg 传递给表单:
Form2(instance = somemodelobject)
,但我不知道它是否适用于 GAE。
您始终可以将初始字典传递给表单的构造函数,例如
Form2(initial = "title": "blahblah")
【讨论】:
【参考方案2】:模型表单默认值取自模型本身。例如:
class SomeModel(models.Model):
title = models.CharField(max_length=45, default="hello")
您无需对 ModelForm 进行任何更改:
class RequestForm(forms.ModelForm):
class Meta:
model = SomeModel
【讨论】:
以上是关于如何在modelform中给出初始值的主要内容,如果未能解决你的问题,请参考以下文章
Django - UpdateView ModelForm 在查询集字段上设置初始值