From c487acef42baa6abcda4506c0a14a246d20e9533 Mon Sep 17 00:00:00 2001 From: Jan Szejko Date: Wed, 14 Mar 2018 15:32:08 +0100 Subject: [PATCH] don't overrwrite files from different lessons --- catalogue/models.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/catalogue/models.py b/catalogue/models.py index c5ed66c..4a21790 100644 --- a/catalogue/models.py +++ b/catalogue/models.py @@ -302,11 +302,15 @@ class Lesson(models.Model): return any(requirement in self.dc.get('requires', []) for requirement in ('internet', 'Internet')) +def attachment_path(instance, filename): + return 'catalogue/attachment/%s/%s' % (instance.lesson.slug, filename) + + class Attachment(models.Model): slug = models.CharField(max_length=255) ext = models.CharField(max_length=15) lesson = models.ForeignKey(Lesson) - file = models.FileField(upload_to="catalogue/attachment", storage=bofh_storage, max_length=255) + file = models.FileField(upload_to=attachment_path, storage=bofh_storage, max_length=255) class Meta: ordering = ['slug', 'ext'] -- 2.20.1