Django制作文件归档结构+外键

时间:2017-09-02 18:06:23

标签: python django sqlite file-upload models

所以......我正在使用djangosqlite3,我正在尝试创建一个文件存储系统来链接我的数据库。我有2个模型:患者预约,其中患者与预约有1 to many关系。每个约会都需要有多个与之关联的文件,因此我创建了另一个名为' appointmentFiles'的模型。我希望将每个约会文件上传到路径:patient / appointment / filename.txt。我也想要它,以便当我选择患者时,应显示要选择的约会列表。这一切听起来有点复杂,所以请原谅我,如果我解释得不够好的话。提前谢谢!

1 个答案:

答案 0 :(得分:2)

我假设模型是这样的:

class Patient(models.Model):
    name = models.CharField(max_length=100)
    .......
    .......


class Appointment(models.Model):
    patient = models.ForeignKey(Patient, on_delete=models.CASCADE)
    .......
    .......

class AppointmentFiles(models.Model):
    appointment = models.ForeignKey(Appointment, on_delete=models.CASCADE)
    ........
    ........
    path = 'uploads/'+ appointment__patient__name + '/' + appointment__id + '/'
    file = models.FileField(upload_to=path)

现在,它会将所有文件存储到上传/ patient_name / appointment_number /

其中,对于每位患者,patient_name和appointment_number都会有所不同。

每个文件将另存为

  

上传/ patient_name / appointment_number / filename.extension