Настройка элемента в django модель / класс - PullRequest
0 голосов
/ 14 января 2020

Каков наилучший способ иметь пользовательский установщик для поля, которое необходимо сохранить в БД? Например:

class Item(models.Model):

    episode_number = models.IntegerField()
    season_number = models.CharField(max_length=40, default='Alula')
    episode_and_season_number # str(self.season_number) + str(self.episode_number).zfill(2)

Хотя это может быть свойство для чтения:

    @property
    def episode_and_season_number(self):
        str(self.season_number) + str(self.episode_number).zfill(2)

Мне нужно сохранить это значение в базе данных. Каков будет предложенный способ сделать это?

1 Ответ

0 голосов
/ 14 января 2020

Создайте его как CharField, затем заполните его методом сохранения.

class Item(models.Model, ItemMixin):
    episode_number = models.IntegerField()
    season_number = models.CharField(max_length=40, default='Alula')
    episode_and_season_number = models.CharField(max_length=255)

    def save(self, *args, **kwargs):
        self.episode_and_season_number  = str(self.season_number) + str(self.episode_number).zfill(2)
        super().save(*args, **kwargs)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...