瀏覽代碼

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	apps/examination/examquestion/models.py
jiaweiqi 3 年之前
父節點
當前提交
ecf6e9d17d
共有 2 個文件被更改,包括 64 次插入1 次删除
  1. 63 0
      apps/examination/exampaper/models.py
  2. 1 1
      apps/examination/examquestion/models.py

+ 63 - 0
apps/examination/exampaper/models.py

@@ -1,10 +1,73 @@
 # coding=utf-8
 
 from django.db import models
+from django.utils import timezone
+from django.conf import settings
+
+from apps.foundation.models import Subject
+from apps.examination.examquestion.models import ExamQuestion
 
 class ExamPaper(models.Model):
+    MOCK = 1
+    FORMAL = 2
+    RANDOM = 3
+    TYPE_CHOICES = (
+        (MOCK, u'模拟试卷'),
+        (FORMAL, u'正式试卷'),
+        (RANDOM, u'随机试卷'),
+    )
+    TYPE_JSON = [{'id': item[0], 'value': item[1]} for item in TYPE_CHOICES]
+
+    name = models.CharField(max_length=200, verbose_name=u"名称")
+    subject = models.ForeignKey(Subject, verbose_name=u"科目", on_delete=models.PROTECT)
+    type = models.PositiveSmallIntegerField(choices=TYPE_CHOICES, verbose_name=u"类型")
+    passline = models.IntegerField(verbose_name=u'及格线')
+    desc = models.TextField(verbose_name=u"备注", null=True, blank=True)
+
+    single_simple_count = models.IntegerField(verbose_name=u'简单单选题数量', default=0)
+    multiple_simple_count = models.IntegerField(verbose_name=u'简单多选题数量', default=0)
+    fill_simple_count = models.IntegerField(verbose_name=u'简单填空题数量', default=0)
+    judgment_simple_count = models.IntegerField(verbose_name=u'简单判断题数量', default=0)
+    single_mid_count = models.IntegerField(verbose_name=u'中等单选题数量', default=0)
+    multiple_mid_count = models.IntegerField(verbose_name=u'中等多选题数量', default=0)
+    fill_mid_count = models.IntegerField(verbose_name=u'中等填空题数量', default=0)
+    judgment_mid_count = models.IntegerField(verbose_name=u'中等判断题数量', default=0)
+    single_hard_count = models.IntegerField(verbose_name=u'困难单选题数量', default=0)
+    multiple_hard_count = models.IntegerField(verbose_name=u'困难多选题数量', default=0)
+    fill_hard_count = models.IntegerField(verbose_name=u'困难填空题数量', default=0)
+    judgment_hard_count = models.IntegerField(verbose_name=u'困难判断题数量', default=0)
+    single_scores = models.IntegerField(verbose_name=u'单选题单题分数', default=0)
+    multiple_scores = models.IntegerField(verbose_name=u'多选题单题分数', default=0)
+    fill_scores = models.IntegerField(verbose_name=u'填空题单题分数', default=0)
+    judgment_scores = models.IntegerField(verbose_name=u'判断题单题分数', default=0)
+
+    single_total_count = models.IntegerField(verbose_name=u'单选题总数量', default=0, editable=False)
+    multiple_total_count = models.IntegerField(verbose_name=u'多选题总数量', default=0, editable=False)
+    fill_total_count = models.IntegerField(verbose_name=u'填空题总数量', default=0, editable=False)
+    judgment_total_count = models.IntegerField(verbose_name=u'判断题总数量', default=0, editable=False)
+    single_total_scores = models.IntegerField(verbose_name=u'单选题总分数', default=0, editable=False)
+    multiple_total_scores = models.IntegerField(verbose_name=u'多选题总分数', default=0, editable=False)
+    fill_total_scores = models.IntegerField(verbose_name=u'填空题总分数', default=0, editable=False)
+    judgment_total_scores = models.IntegerField(verbose_name=u'判断题总分数', default=0, editable=False)
+    question_total_count  = models.IntegerField(verbose_name=u'试题总数量', default=0, editable=False)
+    question_total_scores = models.IntegerField(verbose_name=u'试题总分数', default=0, editable=False)
+
+    create_user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=u'添加人', editable=False, on_delete=models.PROTECT)
+    create_time = models.DateTimeField(verbose_name=u"添加时间", default=timezone.now, editable=False)
+    delete = models.BooleanField(verbose_name=u'删除', default=False, editable=False)
+
     class Meta:
         db_table = "exam_paper"
         ordering = ['-id']
         verbose_name = u"试卷管理"
         default_permissions = ()
+
+class ExamPaperDetail(models.Model):
+    main = models.ForeignKey(ExamPaper, verbose_name=u"试卷", on_delete=models.PROTECT)
+    question = models.ForeignKey(ExamQuestion, verbose_name=u"试题", on_delete=models.PROTECT)
+
+    class Meta:
+        db_table = "exam_paper_detail"
+        ordering = ['-id']
+        verbose_name = u"试卷管理"
+        default_permissions = ()

+ 1 - 1
apps/examination/examquestion/models.py

@@ -91,7 +91,7 @@ class ExamQuestionFeedback(models.Model):
 
     main = models.ForeignKey(ExamQuestion, verbose_name=u"试题", on_delete=models.PROTECT)
     type = models.PositiveSmallIntegerField(choices=TYPE_CHOICES, verbose_name=u"错误类型")
-    desc = models.TextField(verbose_name=u"错误描述")
+    desc = models.TextField(verbose_name=u"错误描述", null=True, blank=True)
     create_user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=u'反馈人', editable=False, on_delete=models.PROTECT, related_name="exam_question_feedback_ref_create_user")
     create_time = models.DateTimeField(verbose_name=u"反馈时间", default=timezone.now, editable=False)
     status = models.PositiveSmallIntegerField(choices=STATUS_CHOICES, verbose_name=u'处理状态', default=UNTREATED)