Как изменить FilePathField на FileField в модели Django Model, зависящей от экземпляра связанной модели?
Я пытаюсь создать каталог на основе экземпляра созданного участника. Этот каталог будет использоваться для загрузки файлов для этого участника. Я пытаюсь преобразовать настольное приложение в веб-приложение Django, и я новичок в Django. Любая помощь будет высоко оценена. Заранее спасибо.
Мой код:
def processed_path(report_folder_name):
s_id = report_folder_name
processed_file_path = os.path.join(settings.MEDIAFILES_DIR, 'processed', s_id)
processed_file_path = str(processed_file_path)
if not os.path.exists(processed_file_path):
os.mkdir(processed_file_path)
return processed_file_path
class Participant(models.Model):
id = models.BigAutoField(primary_key=True, unique=True, editable=False)
participant_id = models.CharField(default="Participant", max_length=100)
location = models.CharField(max_length=100)
created = models.DateTimeField(auto_now_add=True, null=True)
# isansys_file_upload = models.FileField(null=True, blank=True, upload=isansysFilePath)
def __str__(self):
return str(self.participant_id)
class ProcessedDataFile(models.Model):
participant = models.ForeignKey(Participant, on_delete=models.CASCADE)
processed_folder_name = Participant.participant_id
processed_file_upload = models.FileField(null=True, blank=True, upload_to='processed/')
processed_file_path = models.FilePathField(null=True, blank=True, path=processed_path)
created = models.DateTimeField(auto_now_add=True)
def __str__(self):
return str(self.processed_file_path)