Django用外键进行两个参数过滤查询

时间:2017-12-02 19:28:05

标签: django foreign-keys models

我的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 y(我希望从查询中得到一个结果)。

想象一下我尝试过但知道不起作用的是:

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

和此:

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

最后我想访问硬币:

c = queryfilter.coins

我可能无法使用单个查询执行此操作并且需要两个查询,因为我尝试使用两个表进行过滤查询。

1 个答案:

答案 0 :(得分: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