我对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"
答案 0 :(得分:1)
嗯,我认为这是经典的一对多关系。您可能已经通过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)