如何在 1 个 django 模型下保存多个文件

How to save multiple files under in 1 django model

我是 Django 的新手。我有一个模型副本(学生的考试副本),模型副本将包含学生测试或考试副本和标记,通常我会使用 FileField 并将副本保存到对象,但我的问题是副本可能包含许多文件(第 1、2、3 页等)

我正在考虑使用 CharField,它包含一个文件夹的路径,该文件夹包含该副本的文件,但我不太清楚如何做到这一点

如果您有更好的方法,我会与您分享。

这是我的模型

class VersionCopie(models.Model):
    id_version = models.CharField(db_column='id_Version', primary_key=True, max_length=100)
    numero_version = models.IntegerField(db_column='numero_Version', blank=True, null=True)
    note_copie = models.FloatField(db_column='note_Copie', blank=True, null=True)
    emplacement_copie = models.CharField(db_column='emplacement_Copie', max_length=10000, blank=True, null=True)
    id_copie = models.ForeignKey('Copie', models.CASCADE, db_column='id_Copie', blank=True, null=True)

我只需要知道我要保存到什么样的路径"emplacement_copie"

嗯,我认为这是经典的 one-to-many 关系。您可能已经通过 id_copie = models.ForeignKey(...)

实现了类似的功能

您应该创建单独的模型,仅表示一个文件并包含对您的 VersionCopie 的引用。您仍然可以从 VersionCopy 模型访问所有文件,引用是隐式创建的(请参阅此 link)。

示例代码:

class VersionCopyFile(models.Model):
    file = models.FileField( <your arguments> )
    version_copy = models.ForeignKey(VersionCopy, on_delete=models.CASCADE)