微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

django – ‘dict’对象没有属性朋友

我收到此错误:渲染时捕获AttributeError:’dict’对象没有属性’friendship’.问题是当我尝试在自定义模板标记获取friend.friend的值时.模块’friends_for_user’是对的.我有

楷模

class FriendshipManager(models.Manager):

  def friends_for_user(self,user):
     friends = []
     for friendship in self.filter(from_user=user).select_related(depth=1):
        friends.append({"friend": friendship.to_user,"friendship": friendship})
     for friendship in self.filter(to_user=user).select_related(depth=1):
        friends.append({"friend": friendship.from_user,"friendship": friendship})
     return friends

模板标签

def render(self,context):
    user = self.user.resolve(context)
    num = self.num.resolve(context)

    my_friends = Friendship.objects.friends_for_user(user)

    potential_friends = []
    for friend in my_friends:
        potential_friends.append(Friendship.objects.friends_for_user(friend.friend))  //This line is the error.

    context[self.context_name] = potential_friends
    return ''

解决方法

看起来你正在使用字典而不是对象. 尝试  potential_friends.append(Friendship.objects.friends_for_user(朋友[ ‘朋友’]))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐