3

モデルフォームセットにフィールドを追加できますか?通常のフォームセットを使用しているがモデルフォームセットを使用していない場合は、フィールドを追加できるようです(少なくとも同じ方法ではありません)。インラインフォームセットも使うべきではないと思います..?

ユーザーにフォトアルバム(django-photologue)を編集してもらいたいです。これまでのところ、私はこれを行うことができました:

PhotoFormSet = modelformset_factory(Photo,
                                       exclude=(
                                        'effect',
                                        'caption',
                                        'title_slug',
                                        'crop_from',
                                        'is_public',
                                        'slug',
                                        'tags'
                                       ))

context['gallery_form'] = PhotoFormSet(queryset=self.object.gallery.photos.all())

問題は、各写真に「この写真を削除する」というチェックボックスを追加し、ラジオで「これをアルバムカバーに設定する」という選択を追加する必要があることです。

前もって感謝します!

4

1 に答える 1

12

フィールドを追加できます。通常の方法でフォームを定義し、それをフォームmodelformset_factoryセットの基礎として使用するように指示します。

MyPhotoForm(forms.ModelForm):
    delete_box = forms.BooleanField()

    class Meta:
        model = Photo
        exclude=('effect',
                 'caption',
                 'title_slug',
                 'crop_from',
                 'is_public',
                 'slug',
                 'tags'
                ))

PhotoFormSet = modelformset_factory(Photo, form=MyPhotoForm)
于 2011-01-18T19:00:09.163 に答える