首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >django分类模型实例

django分类模型实例
EN

Stack Overflow用户
提问于 2018-05-20 13:29:52
回答 2查看 254关注 0票数 0

当我跑步时:

代码语言:javascript
代码运行次数:0
运行
复制
python3 manage.py makemigrations 

保存以下代码后,将显示错误:

todo.Task.status:(fields.E005)“选择”必须是包含(实际值,人类可读的名称)元组的可迭代的。

我想将每个任务实例按照待办、完成或不完整进行分类。在创建每个Task实例时将指定此属性。这些任务将显示在HTML页面的不同列上。

以下代码不起作用:

代码语言:javascript
代码运行次数:0
运行
复制
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}")

请帮帮忙。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-20 15:52:23

来自django文档: Field.choices

一种可迭代的(例如,一个或多个元组),由两个可迭代项组成(例如(A,B),(A,B) .)用作此字段的选择。如果是这样的话,默认的表单小部件将是一个带有这些选项的复选框,而不是标准文本字段。

每个元组中的第一个元素是要在模型上设置的实际值,第二个元素是可读的名称。例如:

代码语言:javascript
代码运行次数:0
运行
复制
YEAR_IN_SCHOOL_CHOICES = (
    ('FR', 'Freshman'),
    ('SO', 'Sophomore'),
    ('JR', 'Junior'),
    ('SR', 'Senior'),
   )
票数 0
EN

Stack Overflow用户

发布于 2018-05-20 13:35:32

尝试为每个选择分配一个值。

代码语言:javascript
代码运行次数:0
运行
复制
STATUS_CHOICES = (
    ('com','complete'),
    ('inc','incomplete'),
    ('to','todo'),
)

当然,选择任何你想要的价值都是你的选择

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50435338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档