models.py 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import os
  2. from django.db import models
  3. # Create your models here.
  4. from TestLaboratory.settings import PLAN_ROOT
  5. from apps.file.models import FileManager
  6. from apps.software.models import Software
  7. from apps.user.models import User
  8. from utils.util_add_id import gen_next_id
  9. class TestPlan(models.Model):
  10. id = models.CharField(max_length=128, unique=True, primary_key=True, verbose_name='测试计划编号',
  11. default='TestLaboratory_V1_Plan_1')
  12. title = models.CharField(max_length=30, verbose_name='测试计划标题')
  13. software = models.ForeignKey(Software, on_delete=models.CASCADE, verbose_name='测试软件')
  14. version = models.CharField(max_length=20, verbose_name='软件版本')
  15. type = models.CharField(max_length=20,verbose_name='测试任务类型')
  16. creator = models.ForeignKey(User, on_delete=models.SET_NULL, null=True, verbose_name='测试计划执行者')
  17. state = models.IntegerField(verbose_name='测试计划执行状态')
  18. description = models.TextField(verbose_name='测试计划描述')
  19. statement_file = models.TextField(verbose_name='说明文档id路径')
  20. create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
  21. update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间')
  22. delete = models.BooleanField(default=False)
  23. def __str__(self):
  24. return self.title
  25. class Meta:
  26. verbose_name = '测试计划'
  27. verbose_name_plural = verbose_name
  28. db_table = 'plan'
  29. # def save_files(files, plan_id, time_stamp):
  30. # """
  31. #
  32. # """
  33. # fids = []
  34. # file_paths = []
  35. # for file in files:
  36. # try:
  37. # file_dir = PLAN_ROOT + "/" + plan_id + "/" + str(time_stamp)
  38. # if not os.path.exists(file_dir):
  39. # os.makedirs(file_dir)
  40. # file_path = file_dir + "/" + file.name
  41. # with open(file_path, 'wb') as f:
  42. # f.write(file.read())
  43. # f.close()
  44. # except:
  45. # return 0
  46. #
  47. # if not FileManager.objects.last():
  48. # id_file = "TestLaboratory_V1_File_1"
  49. # else:
  50. # id_file = gen_next_id(FileManager.objects.order_by('create_time').last().id)
  51. #
  52. # try:
  53. # file_new = FileManager.objects.create(id=id_file, category="plan_statement",
  54. # path=plan_id + "/" + str(time_stamp) + "/" + file.name,
  55. # create_time=time_stamp,
  56. # update_time=time_stamp)
  57. # except:
  58. # return 1
  59. # file_paths.append(PLAN_ROOT + file_new.path)
  60. # fids.append(id_file)
  61. # return file_paths, fids