繁体   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