Объект 'dict' не имеет атрибута друга - PullRequest
3 голосов
/ 04 декабря 2011

Я получаю эту ошибку: Caught AttributeError при рендеринге: объект 'dict' не имеет атрибута 'Friends'. Проблема в том, когда я пытаюсь получить значение 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 ''

1 Ответ

7 голосов
/ 04 декабря 2011

Похоже, вы используете словарь, а не объект. Пытаться potential_friends.append (Friendship.objects.friends_for_user (друг [ 'друг']))

...