查询特定用户的类列

时间:2013-12-27 11:43:35

标签: django django-models django-views

我正在尝试从特定的user_id查询我的模型中的类Survey的列名。但是在尝试这样做时我遇到了错误。 这就是我在做的事情:

>>> q = Survey.objects.filter(user=1)
>>> q.name
Traceback (most recent call last):
  File "<console>", line 1, in <module>
AttributeError: 'QuerySet' object has no attribute 'name'

这是我的模特:

class Survey(models.Model):
    name = models.CharField(max_length=400)
    description = models.TextField()
    user = models.ForeignKey(User, related_name="user_survey_set")

    def __unicode__ (self):
        return (self.name)

    def questions(self):
        if self.pk:
            return Question.objects.filter(survey=self.pk)
        else:
            return None

    def user_data(self):
        p = self.user
        return p.name

1 个答案:

答案 0 :(得分:1)

QuerySet.filter返回QuerySet个对象,而不是特定的Model实例。要获取特定模型实例,请使用QuerySet.get方法:

>>> survey = Survey.objects.get(user=1)
>>> survey.name