/ / Django:モデルフォームセットにフィールドを追加-django、model、field、add、formset

Django:モデルにフィールドを追加するformset - django、model、field、add、formset

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

ユーザーにフォトアルバム(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())

問題は、私が追加する必要があることです チェックボックス 「この写真を削除」と言っている写真ごとに、 ラジオセレクト 「これをアルバムカバーに設定してください」と言います。

前もって感謝します!

回答:

回答№1は8

フィールドを追加できます。通常の方法でフォームを定義してから、 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)