From 1cccc3a91c732a212ce758b819094c18cdf0e1ce Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Wed, 5 Aug 2026 13:44:34 +0200 Subject: [PATCH] upload_to uses get_path method --- teleforma/models/core.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/teleforma/models/core.py b/teleforma/models/core.py index 8f957f9c..396f01bc 100644 --- a/teleforma/models/core.py +++ b/teleforma/models/core.py @@ -1049,7 +1049,7 @@ class Media(MediaBase): blank=True) file = models.FileField( _('file'), - upload_to='items/%Y/%m/%d', + upload_to=self.get_conf_path, max_length=1024, null=True, blank=True, @@ -1057,7 +1057,7 @@ class Media(MediaBase): ) file_s3 = models.FileField( _('S3 file'), - upload_to='items/%Y/%m/%d', + upload_to=self.get_conf_path, max_length=1024, null=True, blank=True, @@ -1065,13 +1065,13 @@ class Media(MediaBase): ) poster_file = models.FileField( _('poster file'), - upload_to='items/%Y/%m/%d', + upload_to=self.get_conf_path, max_length=255, null=True, blank=False) poster_file_s3 = models.FileField( _('poster S3 file'), - upload_to='items/%Y/%m/%d', + upload_to=self.get_conf_path, max_length=1024, null=True, blank=True, @@ -1086,6 +1086,16 @@ class Media(MediaBase): blank=True, null=True) + def get_conf_path(self): + if self.conference: + return os.sep.join([str(self.conference.date_begin.year), + self.conference.course.slug, + self.conference.course_type.slug, + self.conference.public_id + ]) + else: + return "%Y/%m/%d" + def set_mime_type(self): path = None if self.file: -- 2.47.3