Как сгенерировать значение для поля на основе другого поля в моделях Django? - PullRequest
0 голосов
/ 05 марта 2020

Я хочу создать значение для поля name на основе поля file.

class Files(models.Model):
    name = models.CharField(max_length=100, blank=True, null=True)
    file = models.FileField(
        upload_to=settings.RAW_IMAGE_UPLOAD_PATH,
        null=True,
        max_length=500
    )

    def name(self):
        return os.path.basename(self.file.name)

    def __str__(self):
        return self.name

У меня не получается выполнить сериализацию / десериализацию.

1 Ответ

1 голос
/ 05 марта 2020

, если вы хотите добавить имя для загружаемого файла.


class Files(models.Model):
    name = models.CharField(max_length=100, blank=True, null=True)
    file = models.FileField(
        upload_to=settings.RAW_IMAGE_UPLOAD_PATH,
        null=True,
        max_length=500
    )

    def save(self, *args, **kwargs):
        if self.name is None or self.name == '':
            self.name = os.path.basename(self.file)
        super().save(*args, **kwargs)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...