Вы должны доказать нам более подробную информацию. Прежде всего, выбор должен быть iterable
объект (например, tuple
, как в вашем случае), но ваш tuple
очень сложен в вашем случае (Django не может это обработать). Вы должны передать что-то вроде этого в качестве выбора.
Пример выбора (Это хороший код кортежа)
CHOICES = (
('key', 'value') # key will be inserted in database (and validation purposes), and value is just for representation purposes.
)
LANGUAGES = (
('python', 'Python'),
('js', 'JS'),
('ruby', 'Ruby'),
)
Представьте, что вы пытаетесь извлечь объект из базы данных.
class ressource(models.Model):
''' This is your model '''
media = models.CharField(max_length=50, choices=MEDIA_CHOICES)
res = ressource.objects.get(pk=1) # retrieve data from database.
print(res.media) # returns string object. you will read actual value of media field
''' But if you want to read all available choices on this field, Django provide as _meta api. You can use it very nice way '''
res = ressource.objects.get(pk=1)
fields = res._meta.fields # This will return tuple-like object.
for field in fields:
if field.name == 'media':
# you want to find "media" field
print(field.choices) # This will return all available choices on your media field
Надеюсь, это поможет вам. Удачи.