使用数据图视图的起因
最近在做一个销售数据统计的功能,把数据表中的实时产生的销售数据按天做统计计算。于是在MySQL数据库中做了一个视图,很容易得到每天的统计数据,并且有新的数据产生时,能实时查看到当天的数据更新。
视图的数据是建立在数据表基础上的,把统计的SQL调试好之后,生成数据库视图,后续的查询可以直接数据库视图来完成,这样在Django中编写查询的代码就简单多了,不需要做统计计算。
Django访问数据库视图
参照网上找的资料,Django访问数据库视图的参考代码如下,重点是class Meta信息中要设置 managed = False。表格的字段申明要与视图的字段一一对应,另外主键字段和排序字段的申明,似乎不能起到作用。
# 备份表格,用于数据同步
class BranchDailyAchievementBackup(models.Model):
branchid = models.IntegerField(primary_key=True)
fullname = models.CharField(max_length=_LEN_FULLNAME, verbose_name='名称')
cdate = models.DateField()
sumtotal = models.FloatField()
class Meta:
managed = False
ordering = ["cdate", "branchid"]
db_table = "branchdailyachv_backup"