django随着时间的推移开发数据

时间:2020-01-03 11:54:26

标签: python django python-3.x reactjs django-rest-framework

我有一个Web应用程序,用户可以在其中获得完成特定任务的经验。

我在使用Django-REST和REACT作为前端。

我想显示统计信息,用户可以在该图上看到他每月获得的经验。保存数据的最佳方法是什么?

我当时正在考虑创建一个模型,该模型将存储有关一个月和用户体验的信息。然后,在月底,我将运行一个脚本,该脚本将为每个用户收集所有这些信息。

我想知道是否有可能出错的信息,或者如果有更好的方法,如何获得相同的结果,请告诉我。

感谢每一个建议!

1 个答案:

答案 0 :(得分:0)

您打算实现的功能似乎是一个动态仪表板(其非常精简的版本),您可能想要做的是存储用户体验或您可能希望以报表形式显示在仪表板上的任何其他数据/生成模型,然后使用api获取仪表盘/图形的相关数据。通常,使API本身为仪表板获取数据并不是您需要担心的事情。主要问题是性能...

基本上有两种方法可以提高api性能: 1)使用原始查询(如何在Postgres / SQL Shell中执行查询);需要有关DB查询,注释,创建函数等方面的高级知识。 2)使用ORM(django如何在后台执行原始查询);不需要先进的知识,这就是为什么要使用ORM。但是大多数ORM速度很慢,并且在大多数情况下会执行N + 1查询。因此,以下是一些链接,您可能希望引用这些链接:

* https://medium.com/kolonial-no-product-tech/pushing-the-orm-to-its-limits-d26d87a66d28

* https://medium.com/@chakrabortypritish/django-optimization-how-to-avoid-memory-mishaps-1e55b2aa947c

用于监控效果的工具:

简而言之:- 集成性能监视器,尝试使用注释并创建管理器。

在前端方面,由于您使用React作为框架,您可以查看https://github.com/ant-design/ant-design,它是一个用于React的UI库,可能会根据您的要求为您提供帮助。

相关问题