django - "QuerySet"对象没有属性'user'

ava*_*tar 4 django django-models django-views

我有两个模特个人资料和阿凡达.

models.py

class Profile(models.Model):
    user = models.ForeignKey(User)
    profile_name = models.CharField(blank=True, max_length=50)

    def __unicode__(self):
       return u'%s %s' % (self.user, self.profile_name)  


class Avatar(models.Model):
    user = models.ForeignKey(User)
    paths = models.CharField(max_length=100)
    def __unicode__(self):
        return u'%s %s' % (self.user,self.paths)
Run Code Online (Sandbox Code Playgroud)

我想在profile_name场上进行搜索(来自Profile模型)并获取存储在场上的图片的路径paths(来自Avatar模型).

view.py

profile_name_search = Profile.objects.filter(profile_name=usr_name)
user_avatar = Avatar.objects.filter(user=profile_name_search.user.id)
Run Code Online (Sandbox Code Playgroud)

usr_name 变量从表单字段传递.

出于某种原因,我收到此错误:

'QuerySet' object has no attribute 'user'
user_avatar = Avatar.objects.filter(user=profile_name_search.user.id)
Run Code Online (Sandbox Code Playgroud)

任何想法?

Ber*_*ant 16

filter()QuerySet如果找到则只返回一个对象.如果只想返回模型实例,请使用get():

profile_name_search = Profile.objects.get(profile_name=usr_name)
user_avatar = Avatar.objects.filter(user=profile_name_search.user.pk)
Run Code Online (Sandbox Code Playgroud)