我的应用程序具有用户上载文档。我想轻松地告诉用户过去一年和一个月内他们如何上传记录。
我了解如何在数据库中查询用户可以进行一次一次性计算的数据:例如年份
MyDocs.objects.filter(created_at__year=year, user__username=name)
但是,如果我不得不经常为许多用户返回这些值,并且正在考虑在我的CustomUser模型(扩展用户模型的模型)中添加更多列,那么我试图找出这是否是最有效的途径。返回一个值非常容易。
示例:
class CustomUser(models.Model):
user = models.OneToOneField(User, primary_key=True, on_delete=models.CASCADE)
total_uploads = models.IntegerField()
year_uploads = models.IntegerField()
month_uploads = models.IntegerField()
很显然,如果我只需要记录total_uploads,这将非常容易。问题可能是当我需要在每个月的第一天将每个帐户的month_uploads设置为0时。
我知道您可以通过一些方法来设置计划的数据库更新,以将字段设置为0。
我的问题是:是否有一种简单的方法可以将月份重置为0的Django模型构建?还是有另一种应用可以用来计数的策略,而不必查询整个数据库来进行每次计数。