Динамическое изменение вариантов полей Char/IntegerField для каждого экземпляра модели

Мне интересно, можно ли динамически изменять выбор поля IntengerField для каждого экземпляра модели.

Я работаю с API видеоигр и хочу, чтобы PLATFORM_CHOICES были уникальными для каждой игры, поскольку не все игры выходят на одной платформе. Например, на первой итерации выбор платформы для игры1 может быть PlayStation & Xbox, а для игры2 - PlayStation, Xbox, Nintendo, & PC.

models.py

class TestModel(models.Model):
    PLATFORM_CHOICES = []
    platform_type = models.IntegerField(choices=PLATFORM_CHOICES, null=True)
    game = models.CharField(max_length=200, null=True)

api.py

def get_games(self):
    new_url = "{}{}".format(self.url, 'games')
    data = requests.get(new_url, params=self.query).json()
    games = data['results']

    for game in games:
        t = TestModel()
        for platform in game['platforms']:
            id = platform['platform']['id']        # int
            name = platform['platform']['name']    # str
            t.PLATFORM_CHOICES.append((id, name))  # add tuple to list
            t.save()
        t.game = game['name']
        t.save()

Я пробовал различные варианты этого, но IntField всегда оказывается пустым. Пожалуйста, дайте мне знать, если я могу предоставить еще какую-либо информацию.

Вернуться на верх