from datetime import datetime
-
+from django.utils import timezone
from django.db import models
# Create your models here.
test brand
"""
branch_name = models.CharField(max_length=128, verbose_name="branch name", help_text="branch name")
- add_time = models.DateTimeField(default=datetime.now, verbose_name="branch added time",
+ add_time = models.DateTimeField(default=timezone.now, verbose_name="branch added time",
help_text="branch added time")
class Meta:
tests category
"""
cate_name = models.CharField(max_length=64, verbose_name="cate name", help_text="cate name")
+ cate_sn = models.CharField(max_length=32, unique=True, verbose_name="cate sn", help_text="cate sn")
# cate_parent = models.ForeignKey("self", verbose_name="parent category", related_name="sub_cat", help_text="parent category")
cate_order = models.IntegerField(verbose_name="cate order", help_text="order in the current level")
- add_time = models.DateTimeField(default=datetime.now, verbose_name="add time", help_text="category added time")
+ add_time = models.DateTimeField(default=timezone.now, verbose_name="add time", help_text="category added time")
class Meta:
verbose_name = "tests category"
test_desc = models.TextField(verbose_name="test desc", help_text="test desc")
# test_branch_id = models.ForeignKey(TestBranch, verbose_name="test category", help_text="test category")
-
- add_time = models.DateTimeField(default=datetime.now, verbose_name="test added time")
+ meta_time = models.DateTimeField(default=timezone.now, verbose_name="meta time")
+ add_time = models.DateTimeField(default=timezone.now, verbose_name="test added time")
class Meta:
verbose_name = "tests"
)
status = models.IntegerField(choices=STATUS_CHOICE, verbose_name="status", help_text="status of this dataset")
percentage = models.DecimalField(max_digits=8, decimal_places=4, verbose_name="percentage",help_text="percentage compared to previous dataset")
- add_time = models.DateTimeField(default=datetime.now, verbose_name="test dataset time")
+ add_time = models.DateTimeField(default=timezone.now, verbose_name="test dataset time")
class Meta:
verbose_name = "test dataset"
('1', 'simple'),
)
mode = models.IntegerField(choices=MODE_CHOICE, verbose_name="mode", help_text="test mode")
- add_time = models.DateTimeField(default=datetime.now, verbose_name="test result added time")
+ add_time = models.DateTimeField(default=timezone.now, verbose_name="test result added time")
class Meta:
verbose_name = "test result"
from django.shortcuts import render
from rest_framework.pagination import PageNumberPagination
-from models import UserMachine
+from models import UserMachine, TestCategory
from .serializer import TestRecordSerializer, TestRecordDetailSerializer, LinuxInfoSerializer, MetaInfoSerializer, \
PGInfoSerializer, CreateTestRecordSerializer, CreateTestDateSetSerializer
from rest_framework.views import APIView
'linux_info': linuxInfoRet.id,
'meta_info': metaInfoRet.id,
'test_machine_id': 1,
- 'test_desc': 'here is desc'
+ 'test_desc': 'here is desc',
+ 'meta_time': metaInfoRet.date
}
testRecord = CreateTestRecordSerializer(data=test_record_data)
testRecordRet = None
msg = 'testRecord save error'
return Response(msg, status=status.HTTP_202_ACCEPTED)
- ro = json_data['pgbench']['ro']
+ pgbench = json_data['pgbench']
# print(type(ro))
- for scale, dataset_list in ro.iteritems():
- print "ro[%s]=" % scale, dataset_list
- for client_num, dataset in dataset_list.iteritems():
- print 'std is:'+ str(dataset['std'])
-
- test_dataset_data = {
- 'test_record': testRecordRet.id,
- 'clients': client_num,
- 'scale': scale,
- 'std': dataset['std'],
- 'metric': dataset['metric'],
- 'median': dataset['median'],
- 'test_cate': 1,
- # todo status,percentage
- 'status': 1,
- 'percentage': 0.062,
- }
- testDateSet = CreateTestDateSetSerializer(data=test_dataset_data)
- testDateSetRet = None
- if testDateSet.is_valid():
- print 'dataset valid'
- testDateSetRet = testDateSet.save()
- else:
- print(testDateSet.errors)
- msg = 'testDateSet save error'
- return Response(msg, status=status.HTTP_202_ACCEPTED)
+ ro = pgbench['ro']
+ for tag, tag_list in pgbench.iteritems():
+ test_cate = TestCategory.objects.get(cate_sn=tag)
+ if not test_cate:
+ continue
+ else:
+ print test_cate.cate_name
+ for scale, dataset_list in tag_list.iteritems():
+ print "ro[%s]=" % scale, dataset_list
+ for client_num, dataset in dataset_list.iteritems():
+ print 'std is:'+ str(dataset['std'])
+
+ test_dataset_data = {
+ 'test_record': testRecordRet.id,
+ 'clients': client_num,
+ 'scale': scale,
+ 'std': dataset['std'],
+ 'metric': dataset['metric'],
+ 'median': dataset['median'],
+ 'test_cate': test_cate.id,
+ # status,percentage cal by tarr
+ 'status': -1,
+ 'percentage': 0.0,
+ }
+ testDateSet = CreateTestDateSetSerializer(data=test_dataset_data)
+ testDateSetRet = None
+ if testDateSet.is_valid():
+ print 'dataset valid'
+ testDateSetRet = testDateSet.save()
+ else:
+ print(testDateSet.errors)
+ msg = 'testDateSet save error'
+ return Response(msg, status=status.HTTP_202_ACCEPTED)
from datetime import datetime
-
+from django.utils import timezone
from django.db import models
from django.contrib.auth.models import AbstractUser
os_version = models.CharField(max_length=32, verbose_name="operation system version")
comp_name = models.CharField(max_length=32, verbose_name="compiler name")
comp_version = models.CharField(max_length=32, verbose_name="compiler version")
- add_time = models.DateTimeField(default=datetime.now, verbose_name="machine added time")
+ add_time = models.DateTimeField(default=timezone.now, verbose_name="machine added time")
class Meta:
verbose_name = "user machines"
--- /dev/null
+row_data = [
+ {
+ 'branch_name': 'HEAD',
+ },
+]
{
'cate_name': 'read only',
'cate_order': 1,
+ 'cate_sn': 'ro'
},
{
'cate_name': 'read write',
'cate_order': 2,
+ 'cate_sn': 'rw',
},
]
\ No newline at end of file
--- /dev/null
+import sys
+import os
+
+# Use django's model independently
+pwd = os.path.dirname(os.path.realpath(__file__))
+sys.path.append(pwd)
+path = 'D:\GitSpace\pgperffarm\web\pgperffarm'
+sys.path.append(path)
+os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")
+
+# Initialize django
+import django
+django.setup()
+
+from test_records.models import TestBranch
+from data.branch_data import row_data
+
+for branch_item in row_data:
+ branch = TestBranch()
+ branch.branch_name = branch_item["branch_name"]
+ branch.save()
\ No newline at end of file
cate = TestCategory()
cate.cate_name = test_cate["cate_name"]
cate.cate_order = test_cate["cate_order"]
-
+ cate.cate_sn = test_cate["cate_sn"]
cate.save()
\ No newline at end of file