Джанго смешал данные между казнями - PullRequest
0 голосов
/ 22 сентября 2019

Я запускаю 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'])
...