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
如何在此处与管理界面实现对等?我会选择一种仅适用于新供应商实例并允许上传最多特定数量(例如 3 个)的解决方案,但适用于现有实例并允许添加/删除照片的解决方案也很棒。谢谢你的帮助!