我在一个Django网站上有4个应用程序:
我想为app 1,2,3制作报告/图表我的问题是这个......
1)我是否坚持在每个app / people / report,car / report
中查看报告视图或
2)我应该把它全部放在我的报告应用报告/汽车,报告/人员等中。
选项2的问题在于我必须进行大量的模型导入,这意味着它永远不会是独立的。
答案 0 :(得分:3)
在这种情况下,我看到3个选项:
的优点是更改特定图表的行为更容易。我只是猜测人们可能会有来自汽车的不同类型的图表。
可以通过使用通用外键(或类似的东西)使其独立。
创建一个单独的报告应用,可以自动扫描其他应用以获取charts.py
应用(或类似内容),就像Django使用models.py
一样。这样,您可以在应用程序中保留特定的图表配置,该应用程序也包含它的模型。
通用报告应用程序可以包含一个基类来扩展和覆盖特定的应用程序。
我的投票将转到选项3,因为它提供了来自两个世界的最佳选择。虽然开始时可能会有点复杂,但它会大大提高您的可重用性。