如何为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的数据存储区。
我需要以上功能来执行“编辑”部分。
答案 0 :(得分:24)
通常,您将要编辑的模型对象作为实例关键字arg传递给表单:
Form2(instance = somemodelobject)
,但我不知道它是否适用于GAE。
您始终可以将初始字典传递给表单的构造函数,例如
Form2(initial = {"title": "blahblah"})
答案 1 :(得分:4)
模型表格默认值取自模型本身。例如:
class SomeModel(models.Model):
title = models.CharField(max_length=45, default="hello")
您无需对ModelForm进行任何更改:
class RequestForm(forms.ModelForm):
class Meta:
model = SomeModel