Я запускаю Django через Apache с mod-wsgi в контейнере Docker.Когда запрос обрабатывается представлением и выполняет метод модели, все в порядке, но когда отправляется второй запрос, все равно, что он использует тот же экземпляр модели из прошлого выполнения с теми же значениями переменных.
Например, когда первый файл загружен, он правильно устанавливает свой путь загрузки, но когда второй файл загружен, он использует последний загруженный путь и добавляет к нему новое имя.
Это также происходит с другимиметоды.
class MediaFile(UploadedFile):
"""
Media File class. Accepts only files with ALLOWED_FORMATS. Store files in FILE_PATH.
"""
ALLOWED_FORMATS = ['BMP', 'PNG', 'TIFF', 'MP4', 'OGG', 'WEBM', '.AVI']
FILE_PATH = 'images/media/'
name = models.CharField(max_length=200, null=False, blank=False, verbose_name='Name')
total_frames = models.IntegerField(null=True, blank=True, default=0, verbose_name='No of Frames')
upload = models.FileField(upload_to=FILE_PATH, validators=[FileExtensionValidator(ALLOWED_FORMATS)],
help_text='Formats permitted: %s' %
(', '.join('.' + format.lower() for format in ALLOWED_FORMATS)),
verbose_name='File Uploaded'
)
def save(self, *args, **kwargs):
if not self.pk:
self.name = hashlib.sha1((os.path.splitext(self.upload.name)[0] + str(time.time())).encode()).hexdigest()
if self.create_folders(['FPGA', 'GPU', 'CPU']):
self.upload.field.upload_to = os.path.join(self.upload.field.upload_to, self.name)
else:
return
super().save(*args, **kwargs)
self.send_file(['GPU', 'CPU'])