Python 如何解决content.Keywords.Keywords:(fields.E005)和#x27;选择';必须是包含(实际值、人类可读名称)元组的iterable

Python 如何解决content.Keywords.Keywords:(fields.E005)和#x27;选择';必须是包含(实际值、人类可读名称)元组的iterable,python,django,django-models,Python,Django,Django Models,所以我写了我的第一个ChoiceFIeld模型,我面对一些问题: from django.db import models from django.conf import settings from django.utils import timezone from django.utils.translation import gettext_lazy as _ class Keywords(models.Model): POLITICS = 'politics', S

所以我写了我的第一个ChoiceFIeld模型,我面对一些问题:



from django.db import models
from django.conf import settings
from django.utils import timezone
from django.utils.translation import gettext_lazy as _


class Keywords(models.Model):
    POLITICS = 'politics',
    SPORTS = 'sports',
    ENTERTAINMENT = 'entertainment',
    FOOD = 'food',
    LIFESTYLE = 'lifestyle',
    RANDOM = 'random',

    TOPIC = [
        (POLITICS, _('News About Politics')),
        (SPORTS, _('News About Sports')),
        (ENTERTAINMENT, _('News About Entertainment')),
        (FOOD, _('News About Food')),
        (LIFESTYLE, _('News About Lifestyle')),
        (RANDOM, _('Random News')),
    ]

    key_words = models.CharField(max_length=2, choices=TOPIC, default=RANDOM,)

这是我写的代码

但当我尝试进行迁移时,它会给我以下错误消息:

content.Keywords.Keywords:(fields.E005)'choices'必须是包含(实际值、人类可读名称)元组的iterable

我做错了什么

谢谢大家。

换成元组

TOPIC = (
    ('POLITICS', _('News About Politics')),
)

将其更改为元组后也是如此。我也面临同样的错误。