from django.db import models from apps.project.models import RetrievalProject # Create your models here. class RetrievalTask(models.Model): id = models.AutoField(auto_created=True, primary_key=True, verbose_name='任务编号') title = models.CharField(max_length=128, verbose_name='检索任务名称') description = models.TextField(verbose_name='检索任务描述') project = models.ForeignKey(RetrievalProject, on_delete=models.CASCADE, verbose_name='检索项目', default=1) state = models.IntegerField(verbose_name='任务状态') type = models.CharField(max_length=64, verbose_name='检索任务类型') create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间') delete = models.BooleanField(default=False) def __str__(self): return self.title class Meta: verbose_name = '检索任务' verbose_name_plural = verbose_name db_table = 'task' class DataType(models.Model): id = models.AutoField(auto_created=True, primary_key=True, verbose_name='隐私类型编号') data_type = models.CharField(max_length=64, verbose_name='隐私类型') variable = models.CharField(max_length=64, verbose_name='隐私变量') line_no = models.IntegerField(verbose_name='行号') func_name = models.CharField(max_length=64, verbose_name='所在方法名') file_path = models.TextField(verbose_name='所在文件路径') task = models.ForeignKey(RetrievalTask, on_delete=models.CASCADE, verbose_name='检索任务', default=1) create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间') delete = models.BooleanField(default=False) def __str__(self): return self.file_path + '/' + self.func_name + "L" + str( self.line_no) + " #" + self.data_type + "-" + self.variable class Meta: verbose_name = '检索任务' verbose_name_plural = verbose_name db_table = 'data_type' class Purpose(models.Model): id = models.AutoField(auto_created=True, primary_key=True, verbose_name='操作意图编号') purpose = models.CharField(max_length=64, verbose_name='操作意图') func_name = models.CharField(max_length=64, verbose_name='所在方法名') file_path = models.TextField(verbose_name='所在文件路径') task = models.ForeignKey(RetrievalTask, on_delete=models.CASCADE, verbose_name='检索任务', default=1) create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间') delete = models.BooleanField(default=False) def __str__(self): return self.file_path + '/' + self.func_name + "-" + self.purpose class Meta: verbose_name = '操作意图' verbose_name_plural = verbose_name db_table = 'purpose'