2013-04-24 50 views
1

我試圖創建一個查詢,在那裏我檢索登錄的用戶和他的「朋友」按最近排序的所有「活動」。 (朋友使用Django-Simple-Friends連接)。Django添加朋友來查詢

以下查詢對於檢索按最近排序的登錄用戶的所有活動非常適用,但我不確定如何還包括用戶的連接「朋友」。

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) 

我很欣賞的時間和專業知識。

+0

在哪個表中存儲用戶的連接好友? – 2013-04-24 20:57:09

+0

用戶連接的朋友存儲在由Django-Simple-Friends創建的「友情」表中 – bbrooke 2013-04-24 21:04:42

回答

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條件以允許列表中的所有用戶滿足查詢。

希望它有幫助。

+0

我得到錯誤:'用戶'對象沒有屬性'朋友'我也嘗試過「友誼」來代替「朋友」我得到的錯誤:'友誼'對象沒有任何屬性'全部'任何想法,我可以嘗試什麼? – bbrooke 2013-04-24 21:23:58

+0

你通常如何獲得用戶的朋友? – 2013-04-24 21:59:47

+0

我還沒有必要生成該列表,但文檔給出了這個例子來獲取所有用戶的朋友:朋友= Friendship.objects.friends_of(user1) – bbrooke 2013-04-24 22:11:05