Динамическое изменение вариантов полей 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 всегда оказывается пустым. Пожалуйста, дайте мне знать, если я могу предоставить еще какую-либо информацию.