簡體   English   中英

django對模型實例進行分類

[英]django categorizing model instances

當我跑步時:

python3 manage.py makemigrations 

保存以下代碼后,它顯示錯誤:

todo.Task.status:(fields.E005)“選擇”必須是可迭代的,包含(實際值,人類可讀的名稱)元組。

我想根據待辦事項將每個Task實例分類為已完成或未完成。 在創建每個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}")

請幫忙。

嘗試為每個選擇分配一個值

STATUS_CHOICES = (
    ('com','complete'),
    ('inc','incomplete'),
    ('to','todo'),
)

當然,您可以選擇想要的任何值

來自Django文檔:Field.choices

本身由恰好兩個項目(例如[[(A,B),(A,B)...])的可迭代對象組成的可迭代對象(例如列表或元組),用作該字段的選擇。 如果提供此選項,則默認表單窗口小部件將是具有這些選擇的選擇框,而不是標准文本字段。

每個元組中的第一個元素是要在模型上設置的實際值,第二個元素是人類可讀的名稱。 例如:

YEAR_IN_SCHOOL_CHOICES = (
    ('FR', 'Freshman'),
    ('SO', 'Sophomore'),
    ('JR', 'Junior'),
    ('SR', 'Senior'),
   )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM