Django の管理者は、モデルとその外部キーを編集するためのフォームを簡単に作成できますが、自分のビューで ModelForm を使用している場合、これを達成するのに問題があります。admin.py の例を次に示します。
class VendorPhotoInline(admin.StackedInline):
model = VendorPhoto
extra = 3
class VendorAdmin(admin.ModelAdmin):
inlines = [VendorPhotoInline]
admin.site.register(Vendor, VendorAdmin)
管理画面でベンダーを作成し、たくさんの写真を追加できるようになりました。ただし、スタッフ以外の場合は、ベンダーを作成するためのフォームがあり、管理者のような写真をアップロードできるようにしたいと考えています。
ユーザーが新しいベンダーを作成できる ModelForm を使用していますが、もちろん、この時点で写真を追加することはできません。
class VendorForm(ModelForm):
class Meta:
model = Vendor
ここで管理インターフェイスと同等にするにはどうすればよいですか? 新しい Vendor インスタンスでのみ機能し、特定の数 (たとえば 3) までアップロードできるソリューションに落ち着きますが、既存のインスタンスで機能し、写真を追加/削除できるソリューションも素晴らしいでしょう。助けてくれてありがとう!