我的问题是我如何设计我的数据库方案更容易?django中的复杂模型关系
我有三个型号:
class Project(models.Model):
name = models.CharField('Name')
tasklists = models.ManyToManyField(Tasklist)
class Tasklist(models.Model):
name = models.CharField('Name')
class Task(models.Model):
name = models.TextField('Name')
tasklist = models.ForeignKey(Tasklist)
所以,想法是,我有一个项目,可能有很多的任务列表(以及每个任务列表中可能有几个任务)。此外,同一个任务列表可能涉及具有相同任务的多个项目。
但我需要的是保存一个特定项目的任务状态。所以,假设我有两个项目,它们具有两个任务的基本任务列表,但是在第一个项目中,我已经完成了所有任务,但没有完成任务。我应该在哪里存储每个项目特定的任务状态? 感谢您的帮助!
项目1 - >基本任务列表 - >任务1(完成)任务2(完成)
项目2 - >基本任务列表 - >任务1(活性)任务2(活性)
我的猜测是创建另一个模型,如下所示:
class TaskState(models.Model):
task = models.ForeignKey(Task)
project = models.ForeignKey(Project)
done = models.BooleanField(default=False)
谢谢!添加这个额外的字段确实简化了查询。 – v01d