2011-01-17 20 views
0

私は自分のフォトギャラリーを編集できるようにフォームを作っています。だから私がフォームを表示すると、私は2つのフィールド/写真ごとのウィジェットが必要です。それぞれの写真のために私は__init__にこのような何かを置く必要がありますね1
CheckBox(label='Delete photo', value=<Id of photo>) とフォームクラスで1 RadioSelect(label='Set as cover image', value=<Id of photo>)Django:複数のウィジェット/フィールドを1つのフィールドに入れる

があるでしょう:

for image in images: 
    #make a checkbox widget 
    #make a radio select 
    #store the url of the image 
    self.fields[..] = gallery_field_widget 

私は置くことを好むだろうテンプレートの代わりにフォームクラスに多くのコードを追加します。私はMultpleSelectウィジェットで遊んだことがありますが、他のウィジェットと一緒にそれを繰り返し処理する方法を理解することはできません。

答えて

4

これはフィールドあたり2つのウィジェットではなく、これはフォームあたり2つのフィールドと1つのフォームで1つのインスタンスです。そのためにはformsetsがあります。

+0

Okey。さらに、これらのフォームセットをすべてModelFormに添付するにはどうしたらいいですか?私は 'プロジェクト'モデルのmodelformを持っています。ギャラリーはそのプロジェクトの外部キーです。 – mrmclovin

+0

[inline formsets](http://docs.djangoproject.com/ja/1.2/topics/forms/modelforms/#inline-formsets)を参照してください。 –

関連する問題