如何在Django管理模型中上传多个文件

6 投票
1 回答
4360 浏览
提问于 2025-04-16 07:58
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,]

撰写回答