[英]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.