我正在为一家公司制作一个系统,该系统除其他外必须包含有关各种事物的满意程度的信息,我已经使用具有固定问题和答案的固定模型使其正常工作,但我确信他们将需要更改或添加问题。
所以我想创建一个系统,用户可以在其中制作由他们定义的自定义问题组成的自定义评估模式。我该如何进行这样的设计?
现在我的模型是这样的,但是错误的:
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 没用,因为您仍然必须自己选择所有问题和答案 - 它不会显示仅与所选模式相关的问题的列表。