2011-12-04 12 views
3

このエラーが発生しました。レンダリング中にAttributeErrorが発生しました: 'dict'オブジェクトに属性 'friendship'がありません。問題は、私がカスタムテンプレートタグのfriend.friendの値を取得しようとするときです。モジュール 'friends_for_user'が正しいです。私が持っている:'dict'オブジェクトには属性フレンドがありません

モデル

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 '' 

答えて

7

あなたが辞書ではないオブジェクトを使用しているように見えます。 お試しください potential_friends.append(Friendship.objects.friends_for_user(friend ['friend']))

+0

それは正しいです。ありがとう。 – beni

関連する問題