1

ログインしたユーザーとその「友達」のすべての「アクティビティ」を最新順に並べ替えて取得するクエリを作成しようとしています。(フレンドは Django-Simple-Friends を使用して接続されます)。

次のクエリは、ログインしているユーザーのすべてのアクティビティを最新順に並べ替えて取得するのに最適ですが、ユーザーの接続された「友達」も含める方法がわかりません。

activity = Activity.objects.filter(user=request.user).order_by('-created_date')

私の活動クラスは次のとおりです。

class Activity(models.Model):
    user = models.ForeignKey(User)
    created_date = models.DateTimeField(default=datetime.now)
    activity_type = models.IntegerField(default=0) 

時間と専門知識に感謝します。

4

1 に答える 1

1

この方法でクエリを試してください。

friend_user_list = list(friends_list) + [request.user]
activity = Activity.objects.filter(user__in=friend_user_list).order_by('-created_date')

私がそこでやろうとしているのは[request.user]、リストとその友達のリスト (それfriendsが友情関係の関連名であると仮定) に連結することであり、リストuser__in内のすべてのユーザーがクエリを満たすことができるように WHERE 条件を変更する必要があります。

それが役に立てば幸い。

于 2013-04-24T21:14:56.953 に答える