【发布时间】:2013-08-27 02:57:33
【问题描述】:
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 个)的解决方案,但适用于现有实例并允许添加/删除照片的解决方案也很棒。感谢您的帮助!
【问题讨论】:
标签: python django django-forms django-admin django-views