我有一张products(productsmaster).桌子
对于表中的每个产品,我有四列显示进行季度检查的月份(product1: Q1-Jan,Q2-Apr;product2: Q1-Dec,Q2Mar.)
我在Django-PostgreSQL中开发了一个应用程序,在指定的一个月中,它会选择所有在指定月份报告的产品,即在列Q1、Q2或Q3或Q4中包含月份的所有产品。
产品只设置一次,但在阅读报告和处理时会更多地被访问。很抱歉,我还没有任何代码,因为我希望澄清设计,然后我开始编码。有人能建议我怎么改进吗?数据库设计,如果可能,但也愿意使用django解决方案。
发布于 2015-11-09 18:46:27
您应该有一个专门的模型,称之为ProductCheck。
product | quater | month
------------------------
prod1 | Q1 | Jan
prod1 | Q2 | Apr
prod2 | Q1 | Dec
prod2 | Q2 | Mar然后,您的查询如下:
ProductCheck.objects.filter(month="Jan")记住将索引放在最常搜索的字段上,以加快查询速度。此外,还可以添加唯一约束,以避免重复数据。
https://stackoverflow.com/questions/33614323
复制相似问题