2009-06-28 29 views
18

如何爲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

相關:http://stackoverflow.com/q/604266/212218 – 2013-01-11 19:18:27

回答

24

通常情況下,您會將正在編輯的模型對象作爲實例關鍵字arg傳遞給表單: Form2(instance = somemodelobject),但我不知道它是否適用於GAE。 您可以隨時通過初始字典到你的窗體的構造,就像從模型本身採取

Form2(initial = {"title": "blahblah"}) 
+1

感謝,這兩種方法你給了工作...... – Dhushyanth 2009-06-28 11:20:57

4

雛型默認值。例如:

class SomeModel(models.Model): 
    title = models.CharField(max_length=45, default="hello") 

你並不需要對你的ModelForm任何修改:

class RequestForm(forms.ModelForm): 

    class Meta: 
     model = SomeModel