更好的多列搜索设计 - Django PostgreSQL

时间:2015-11-09 17:05:18

标签: django database postgresql database-design

我有一张产品表( productsmaster ) 对于表中的每个产品,我有四列显示进行季度检查日期的月份(产品1:Q1-Jan,Q2-Apr;产品2:Q1-Dec,Q2Mar ......
我正在开发一个Django-PostgreSQL应用程序,在指定月份,它会选择在指定月份报告的所有产品,即在Q1或Q2或Q3或Q4列中有月份的产品。 产品设置一次,但在阅读报告和处理时可以访问更多。对不起,我还没有任何代码,因为我希望在开始编码之前澄清设计。任何人都可以建议我如何改善这一点?数据库设计如果可能,但也愿意使用django解决方案。

1 个答案:

答案 0 :(得分:0)

你应该有一个专门的模型,称之为ProductCheck

product | quater | month
------------------------
 prod1  |   Q1   |  Jan
 prod1  |   Q2   |  Apr
 prod2  |   Q1   |  Dec
 prod2  |   Q2   |  Mar

然后您的查询如下所示:

ProductCheck.objects.filter(month="Jan")

请记住将索引放在最常搜索的字段上,以加快查询速度。您还可以添加唯一约束以避免重复数据。