Python ';选择';必须是包含(实际值、人类可读名称)元组的iterable

Python ';选择';必须是包含(实际值、人类可读名称)元组的iterable,python,django,Python,Django,尝试在模型字段上设置选项时出错。代码如下: TICKET = 'TICKET', TICKET_HISTORY = 'TH' TICKET_RATE = 'TR' PASSWORD_CHANGE = 'PASS' CONTENT = 'CN' TYPE_CHOICES = [ (TICKET, 'Ticket created'), (TICKET_HISTORY, 'Ticket changed'), (TICKET_RATE, 'Ticket rated'), (PASSWO

尝试在模型字段上设置选项时出错。代码如下:

TICKET = 'TICKET',
TICKET_HISTORY = 'TH'
TICKET_RATE = 'TR'
PASSWORD_CHANGE = 'PASS'
CONTENT = 'CN'

TYPE_CHOICES = [
    (TICKET, 'Ticket created'), (TICKET_HISTORY, 'Ticket changed'), (TICKET_RATE, 'Ticket rated'),
    (PASSWORD_CHANGE, 'Password changed'), (CONTENT, 'Added content')
]

type = models.CharField(max_length=6, choices=TYPE_CHOICES, default=TICKET)
类型_的选择似乎是正确的,我不明白问题出在哪里

例外情况:

Unhandled exception in thread started by <function check_errors.<locals>.wrapper at    0x7f8acad18bf8>
Traceback (most recent call last):
  File "/home/userwoozer/work/tickets/env/lib/python3.6/site-packages/django/utils/autoreload.py", line 225, in wrapper
fn(*args, **kwargs)
  File "/home/userwoozer/work/tickets/env/lib/python3.6/site-packages/django/core/management/commands/runserver.py", line 117, in inner_run
self.check(display_num_errors=True)
  File "/home/userwoozer/work/tickets/env/lib/python3.6/site-packages/django/core/management/base.py", line 425, in check
raise SystemCheckError(msg)
django.core.management.base.SystemCheckError: SystemCheckError: System check identified some issues:

ERRORS:
main.Activity.type: (fields.E005) 'choices' must be an iterable containing (actual value, human readable name) tuples.
由启动的线程中未处理的异常 回溯(最近一次呼叫最后一次): 包装器中的文件“/home/userwoozer/work/tickets/env/lib/python3.6/site packages/django/utils/autoreload.py”,第225行 fn(*args,**kwargs) 文件“/home/userwoozer/work/tickets/env/lib/python3.6/site packages/django/core/management/commands/runserver.py”,第117行,在内部运行 self.check(display\u num\u errors=True) 文件“/home/userwoozer/work/tickets/env/lib/python3.6/site packages/django/core/management/base.py”,第425行,检查中 引发系统检查错误(msg) django.core.management.base.SystemCheckError:SystemCheckError:System check发现了一些问题: 错误: main.Activity.type:(fields.E005)'choices'必须是包含(实际值、人类可读名称)元组的iterable。
只需删除代码中第1行的
票证='TICKET',

您的
票证='TICKET',
后面有一个逗号,因此您将其包装在一个单元组中。您应该删除训练逗号,因此
TICKET='TICKET'
。谢谢,找不到它。您可以使用
pprint
,漂亮地打印值。这就更清楚了:在TYLE模型字段中必须改变代码>选择= Type选择。选择< /代码>请使用“@”标记符号适当地格式化代码,并考虑添加一些单词注释如何/为什么你的答案回答问题,这不能提供问题的答案。一旦你有足够的钱,你将能够;相反-
TYPE_CHOICES = (
    ('TICKET', 'Ticket created'), 
    ('TICKET_HISTORY', 'Ticket changed'), 
    ('TICKET_RATE', 'Ticket rated'),
    ('PASSWORD_CHANGE', 'Password changed'), 
    ('CONTENT', 'Added content')
)