diff --git a/apps/mosquito/models.py b/apps/mosquito/models.py index 62f8ffc..a2f57f2 100644 --- a/apps/mosquito/models.py +++ b/apps/mosquito/models.py @@ -58,6 +58,7 @@ class MosqPostStatistic(models.Model): class DevicePostStatistic(models.Model): device_id = models.CharField(max_length=100, verbose_name='设备ID') + org = models.ForeignKey('Org', verbose_name='所在组织', on_delete='PROTECT') total = models.PositiveIntegerField(verbose_name='总数') date = models.DateField(auto_now_add=False, verbose_name='日期', unique=False) diff --git a/apps/mosquito/tasks.py b/apps/mosquito/tasks.py index 80b765c..9af6ac7 100644 --- a/apps/mosquito/tasks.py +++ b/apps/mosquito/tasks.py @@ -5,7 +5,7 @@ from datetime import datetime, time, timedelta from django.db.models import Max from celery import task from counter.models import DeviceCount -from mosquito.models import MosqPostStatistic, DevicePostStatistic +from mosquito.models import MosqPostStatistic, DevicePostStatistic, DeviceInfo def max_count(x, y): @@ -73,6 +73,8 @@ def update_daily_statistic(): if device_container: for device_id in device_container: + device = DeviceInfo.objects.get(device_id=device_id) + org = device.org container = dict(device_container[device_id]) full_daily_ret = fill_date(container, tz=pytz.timezone("UTC")) @@ -85,9 +87,10 @@ def update_daily_statistic(): obj = None if obj: obj.total = full_daily_ret[d] + obj.org = org obj.save() else: - DevicePostStatistic.objects.create(device_id=device_id, total=full_daily_ret[d], date=d) + DevicePostStatistic.objects.create(device_id=device_id, total=full_daily_ret[d], org=org, date=d) # 写入数据库 if full_ret: