2017-12-02 153 views
0

我的Django模型是這樣的:Django的雙參數過濾查詢與外鍵

class User(models.Model): 
    userid = models.CharField(max_length=26,unique=True) 
    #some more fields that are currently not relevant 

class Followers(models.Model): 
    user = models.ForeignKey('User',related_name='usr') 
    coins = models.IntegerField() 
    followers = models.CharField(max_length=26, null=True, blank=True) 

我現在想做成過濾查詢我的追隨者選擇表中的每個條目,用戶有ID x和追隨者ID Ÿ(我期望從查詢中獲得一個結果)。

形象化什麼我都試過,知道將無法正常工作是這樣的:

queryfilter = Followers.object.filter(followers=fid, user=uid) 

這:

queryfilter = Followers.object.filter(followers=fid, user__userid=uid) 

最後,我想訪問硬幣:

c = queryfilter.coins 

有可能我不能用一個單一的查詢來做它,並且需要兩個,因爲我正在嘗試做一個過濾器que ry涉及兩張桌子。

回答

0

首先,我修改了'追隨者'模型(用於命名約定)。 models.py

class Follower(models.Model): 
    user = models.ForeignKey('User', related_name='followers') 
    coins = models.IntegerField() 
    key = models.CharField(max_length=26, null=True, blank=True) 

你的查詢集應該是..

views.py

#coins 
coins = Follower.objects.filter(key=fid, user__userid=uid).get().coins