今天试验django级联查询的时候老是报错:'QuerySet' object has no attribute 'user_answer_set'。
查了半天发现QuerySet就算是单条记录,也是没法进行级联查询的,必须要用单个model对象才行。
错误:
paper = User_Paper.objects.filter(id = 21)
answers = paper.user_answer_set.all()
正确:
paper = User_Paper.objects.get(id = 21)
answers = paper.user_answer_set.all()
model代码:
#用户测试信息
class User_Paper(models.Model):
user_id = models.CharField(max_length=64)
paper = models.ForeignKey(Paper)
serialno = models.IntegerField()
def __unicode__(self):
return u'%s %s' % (self.user_id, self.paper)
#用户测试答案信息
class User_Answer(models.Model):
user_paper = models.ForeignKey(User_Paper)
question = models.ForeignKey(Question)
option = models.ForeignKey(Option)
def __unicode__(self):
return u'%s %s' % (self.question, self.option)