代码之家  ›  专栏  ›  技术社区  ›  Arindam Roychowdhury

如何定义面试评分表模型?

  •  0
  • Arindam Roychowdhury  · 技术社区  · 6 年前

    enter image description here

    符号:

    • I-面试
    • R1、R2、R3、R4-轮
    • RT-评级表
    • A0,A1,A2,A4-评分表下的纵横比(文本字段)。

    模型:

    class Interview(models.Model):
        date = ............
    
    class Round(models.Model):
        interview = models.ForeignKey(Interview)
    
    class RatingSheet(models.Model):
        name = ............
    
    class Aspects(models.Model):
        sheet= models.ForeignKey(RatingSheet)
    

    每次面试我都要填一张评分表。该表将为每一轮的每个方面提供评级(1-10)。

    我尝试了什么:

    我通过request.POST收集所有信息。创建一个字典,如:

    rating_interview_1 = {'interview_pk':
             {
                         'Round1': {'ASP1': 5, 'ASP2':10},
                         'Round2': {'ASP1': 5, 'ASP2':10},
                         'Round3': {'ASP1': 5, 'ASP2':9},
                }
                          }
    

    1 回复  |  直到 6 年前
        1
  •  0
  •   Arindam Roychowdhury    6 年前

    但我学到的一件事是…总有办法组织你的模型来存储数据。其他明智的恢复同样将是一个真正的痛苦在未来。

    解决方案:

    我们需要更多的模型。

    class InterviewRatingSheet(models.Model):
        name = models.CharField(max_length=200, default='MySheet')
        interview = models.ForeignKey(Interview, null=True)
        round_name = models.OneToOneField(Round, null=True)
    
        def __str__(self):  # __unicode__ on Python 2
            return self.name
    
    class RatingAspect(models.Model):
        name = models.CharField(max_length=100)
        description = models.TextField(null=True, default='', blank=True)
        interview_rating_sheet = models.ForeignKey(InterviewRatingSheet)
        points = models.PositiveIntegerField(default=0)
    
        def __str__(self):  # __unicode__ on Python 2
            return self.name
    

    所以对于一个 圆形 “每张纸都有” 评级方面 方面 ".

    https://github.com/arindam31/django-interview-manager