2009-06-28 20 views
18

ModelForm内のフィールドに初期値を割り当てる方法を教えてください。例:基本的な構文のようなものである。この使用のModelFormと同等になりますどのようなモデルフォームの初期値の指定方法

class Form1(forms.Form): 
    title=forms.CharField(initial="hello") 

:私が何をしようとしています何

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 –

答えて

24

通常、インスタンスキーワードargとして編集するモデルオブジェクトを Form2(instance = somemodelobject)という形式に渡しますが、GAEで動作するかどうかはわかりません。 あなたはいつもモデル自体から取られ

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

おかげで、両方の方法をあなたは仕事をした... – Dhushyanth

4

モデルフォームのデフォルトのように、フォームのコンストラクタに初期辞書を渡すことができます。たとえば:

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

あなたのModelFormを変更する必要はありません。

class RequestForm(forms.ModelForm): 

    class Meta: 
     model = SomeModel 
関連する問題