From: Jan Szejko Date: Wed, 14 Mar 2018 14:32:08 +0000 (+0100) Subject: don't overrwrite files from different lessons X-Git-Url: https://git.mdrn.pl/edumed.git/commitdiff_plain/c487acef42baa6abcda4506c0a14a246d20e9533?hp=db00cdfa47efb038db8c33393a25df1d240fd76b don't overrwrite files from different lessons --- 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']