簡體   English   中英

Django-在CharField中具有列表的模型

[英]Django - Model with lists in a CharField

這里的兩難境地; 我想允許用戶創建一個任務列表(通過模型表單),該列表將存儲在數據庫中,以便他們將來讀取或更新每個字段(例如,將任務標記為已完成)。 在模型中,我創建了這樣的內容...

tasks_to_do = models.CharField(max_length=300, null=True)

但是,我希望用戶能夠根據需要添加任意數量的不同任務。 我應該做類似的事情嗎?

task_1 = models.CharField(max_length=100, null=True)
task_2 = models.CharField(max_length=100, null=True)
task_3 = models.CharField(max_length=100, null=True)

等等,這看起來很乏味/浪費代碼。

還是應該以某種方式嘗試將一系列字符串存儲為列表?

缺乏代碼的道歉; 非常不確定如何解決此問題,因為我之前從未遇到過這樣的事情。

提前致謝!

我認為最簡單,最明顯的解決方案是創建兩個單獨的模型-一個用於任務列表,另一個用於單個任務。

class TodoList(models.Model):
    # you can put here some additional information, like the name of the list, when it was created etc.

class Task(models.Model):
    todo_list = models.ForeignKey(TodoList)
    # you can put extra info about the single task (the creator, date due etc.)

因此,每次要將新任務添加到列表時,都將創建另一個Task object ,其todo_list字段的值設置為TodoList object

或者您可以使用文檔中所述的反向關系以其他方式添加它

暫無
暫無

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

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