【问题标题】:How can i save Multiple items in database using FileField in Django?如何使用 Django 中的 FileField 在数据库中保存多个项目?
【发布时间】:2021-01-24 01:27:08
【问题描述】:

我想从 Django FileField 上传多个文件。下面的代码上传单个文件而不是多个文件。我还为文件数据定义了for循环,但我不明白如何将文件保存在数据库中?如果有任何帮助,我将不胜感激。

观看次数

class NewsCreateView(CreateView):
    form_class = ArticleForm
    template_name = 'create.html'
    success_url = '/'

    def form_valid(self, form):
        form.instance.author = self.request.user
        for f in self.request.FILES.getlist('file_data'):  # file_data it's an a Attribute
            instance = form.file_data = f
            instance.save()
        return super().form_valid(form)

【问题讨论】:

    标签: python python-3.x django django-models django-views


    【解决方案1】:

    您好,文件字段可以存储一个文件(基本上它存储文件的路径),但您可以这样做:

    为您的文件创建模型:

    class Document(models.model):
        file = models.FileField()
        article = models.ForeignKey(Article, on_delete=models.CASCADE)
    

    当您想要保存文件时,只需创建一个 Document 对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-16
      • 2014-06-03
      • 2019-09-16
      • 1970-01-01
      • 2017-10-20
      • 1970-01-01
      • 2023-03-30
      相关资源
      最近更新 更多