当我跑步时:
python3 manage.py makemigrations
保存以下代码后,将显示错误:
todo.Task.status:(fields.E005)“选择”必须是包含(实际值,人类可读的名称)元组的可迭代的。
我想将每个任务实例按照待办、完成或不完整进行分类。在创建每个Task实例时将指定此属性。这些任务将显示在HTML页面的不同列上。
以下代码不起作用:
from django.db import models
STATUS_CHOICES = ('complete', 'incomplete', 'todo')
class Task(models.Model):
name = models.CharField(max_length = 128)
due = models.DateTimeField(blank = True, null = True)
status = models.CharField(max_length = 16, choices = STATUS_CHOICES)
def __str__(self):
return (f"{self.name}")
请帮帮忙。
发布于 2018-05-20 07:52:23
来自django文档: Field.choices
一种可迭代的(例如,一个或多个元组),由两个可迭代项组成(例如(A,B),(A,B) .)用作此字段的选择。如果是这样的话,默认的表单小部件将是一个带有这些选项的复选框,而不是标准文本字段。
每个元组中的第一个元素是要在模型上设置的实际值,第二个元素是可读的名称。例如:
YEAR_IN_SCHOOL_CHOICES = (
('FR', 'Freshman'),
('SO', 'Sophomore'),
('JR', 'Junior'),
('SR', 'Senior'),
)
发布于 2018-05-20 05:35:32
尝试为每个选择分配一个值。
STATUS_CHOICES = (
('com','complete'),
('inc','incomplete'),
('to','todo'),
)
当然,选择任何你想要的价值都是你的选择
https://stackoverflow.com/questions/50435338
复制相似问题