我收到此错误:渲染时捕获到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 ''
答案 0 :(得分:7)
看起来你正在使用字典而不是对象。 尝试 potential_friends.append(Friendship.objects.friends_for_user(朋友[ '朋友']))