2009-05-20 22 views
0

我在我的django應用程序中有一個團隊的概念。如何在django中執行一個查詢,選擇我是團隊成員的所有項目?

class Team(models.Model): 
    name = models.CharField(max_length=200) 
    #snip 
    team_members = models.ManyToManyField(User) 

我想獲取當前登錄的用戶所屬的所有團隊成員。東西沿線

Team.objects.all().filter(request.user.id__in = team_members.all()) 

這顯然不起作用。有沒有人有一些建議,如何做這樣的查詢,而不直接到SQL?我確實查看了「in」查詢的the django documentation,但在那裏我找不到我的用例。

非常感謝! Nick。

回答

4

這裏你不需要in,Django在ManyToMany查找中自動處理它。

另外,您需要了解數據庫字段必須始終位於查找的左側,因爲它們實際上是作爲函數的參數處理的。

你真正想要的是非常簡單的:

Team.objects.filter(team_members=request.user) 

request.user.team_set.all() 
+0

非常感謝您對這篇文章中,我必須在文檔中錯過了這一點,這正是我需要的。 – Nick 2009-05-20 10:55:43

相關問題