From 4e55433573f6a4b048cd9484a78a32f0571a57f5 Mon Sep 17 00:00:00 2001 From: xianfuxing Date: Wed, 10 Oct 2018 17:14:49 +0800 Subject: [PATCH] # up org on task --- apps/mosquito/models.py | 1 + apps/mosquito/tasks.py | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) 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: