如何在Django管理模型中上传多个文件
file = models.FileField(upload_to=settings.FILE_PATH)
我在Django模型中用上面的代码上传文件。但是如果我想通过Django的后台管理系统上传多个文件,我该怎么做呢?我找到了一些资料,这个链接是关于表单的。请问我可以把它用在模型上吗?
1 个回答
5
如果你想为同一个字段添加多个文件,你需要自己写一个字段和小部件,基于你找到的表单字段。否则,你可以创建一个单独的模型来处理文件,并在这个模型中使用一个外键链接到你的主模型,然后使用ModelInline。
models.py
class Page(models.Model):
title = models.CharField(max_length=255)
class PageFile(models.Model):
file = models.ImageField(upload_to=settings.FILE_PATH)
page = models.ForeignKey('Page')
admin.py
class PageFileInline(admin.TabularInline):
model = PageFile
class PageAdmin(admin.ModelAdmin):
inlines = [PageFileInline,]