我正在为一家公司制作一个系统,其中必须包含关于各种事物满意程度的信息。我已经使用固定的模型和问题/答案成功实现了它的功能,但我相信他们将需要更改或添加问题。
因此,我想创建一个系统,使用户可以创建由他们定义的自定义问题组成的自定义评估模式。我该如何设计这样一个系统?
目前我的模型是这样的,但不正确:
RATING_CHOICES = ((0, u"Good"), (1, u"Bad"), (2, u"Dunno"),)
class EvaluationScheme(models.Model):
title = models.CharField(max_length=200)
class Evaluation(models.Model):
doctor = models.CharField(max_length=200)
agency = models.CharField(max_length=200)
scheme = models.ForeignKey(EvaluationScheme)
class EvaluationQuestion(models.Model):
question = models.CharField(max_length=200)
evaluation = models.ForeignKey(EvaluationScheme)
def __unicode__(self):
return self.question
class EvaluationAnswer(models.Model):
evaluation = models.ForeignKey(Evaluation)
question = models.ForeignKey(EvaluationQuestion)
answer = models.SmallIntegerField(choices=RATING_CHOICES)
这个和我想要的有点像,但是EvaluationScheme是没用的,因为你仍然需要自己选择所有的问题和答案,它不会显示与所选方案相关的问题列表。