Skip to content

Instantly share code, notes, and snippets.

@no13bus
Created September 5, 2014 10:18
Show Gist options
  • Save no13bus/3c5cecf6580f02a29ce0 to your computer and use it in GitHub Desktop.
Save no13bus/3c5cecf6580f02a29ce0 to your computer and use it in GitHub Desktop.
django_orm_killed
from django.core.management.base import BaseCommand,CommandError
from myapp.models import *
class Command(BaseCommand):
def handle(self, *args, **options):
result_list = results.objects.exclude(value='')
i = 1
for item in result_list:
patt = re.compile(u'^\d+\.\d+$|^\d+$')
maxvalue = item.re_monitor_info.max_value
minvalue = item.re_monitor_info.min_value
if re.findall(patt,maxvalue) and maxvalue!='0':
maxvalue = float(re.findall(patt,maxvalue)[0])
else:
maxvalue = -1
if re.findall(patt,minvalue) and minvalue!='0':
minvalue = float(re.findall(patt,minvalue)[0])
else:
minvalue = -1
if not re.findall(patt,item.value):
item.exceed_flag = False
item.save()
continue
value = float(item.value)
if maxvalue > 0 and minvalue > 0:
if value > 0:
if value >= minvalue and value <= maxvalue:
item.exceed_flag = False
elif value > maxvalue:
item.exceed_flag = True
item.exceed_type = 1
item.times = (value - maxvalue) / maxvalue
else:
item.exceed_flag = True
item.exceed_type = 2
item.times = (minvalue - value) / minvalue
item.save()
elif maxvalue > 0 and minvalue < 0:
if value > 0:
if value <= maxvalue:
item.exceed_flag = False
else:
item.exceed_flag = True
item.exceed_type = 1
item.times = (value - maxvalue) / maxvalue
item.save()
elif maxvalue < 0 and minvalue > 0:
if value > 0:
if value >= minvalue:
item.exceed_flag = False
else:
item.exceed_flag = True
item.exceed_type = 2
item.times = (minvalue - value) / minvalue
item.save()
else:
item.exceed_flag = False
item.save()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment