【发布时间】:2023-04-08 07:53:01
【问题描述】:
架构描述
项目的状态会随着时间而改变。为了跟踪一段时间内的状态,我通过ProjectStatus 中间表在Project 模型和ProjectStatusType 模型之间创建了多对多关系。
虽然这允许随着时间的推移跟踪项目的状态,但它增加了架构的复杂性,使得检索项目的当前状态或检索所有打开的项目更加困难。
用例
我希望能够返回处于给定状态的所有项目,例如所有open 项目。例如,当用户访问http://www.example.com/projects 时,我希望默认情况下仅将open 项目显示在表格中。
问题
- 我是否应该对架构进行非规范化并在
Project模型中添加一个current_status字段? - 如果我不应该反规范化,我应该使用什么策略来检索每个项目的当前状态?我应该在
Project模型上创建一个属性来检索当前状态吗?
【问题讨论】:
-
完全不相关,但是您是否手动创建了图像,或者您是否有某种基于您的模型创建的自动化工具。似乎是这样,因为它与 Django 网站和管理员的颜色方案相匹配......如果是这样,我想使用该工具:)。
-
@jro:我在 OS X 上使用 OmngiGraffle Professional 使用从 Graffletopia.com 下载的 Django 绘图模板创建绘图。
标签: django database-design django-models database-schema