Django 带外键的二参数过滤查询
Django two parameter filter query with foreign key
我的 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)
我现在想在我的关注者中进行过滤查询 table 选择用户 ID x 和关注者 ID y 的每个条目(我希望从查询中得到一个结果)。
想像一下我已经尝试过并且知道行不通的是这样的:
queryfilter = Followers.object.filter(followers=fid, user=uid)
还有这个:
queryfilter = Followers.object.filter(followers=fid, user__userid=uid)
最后我要接入币:
c = queryfilter.coins
我可能无法通过一个查询来完成它而需要两个,因为我正在尝试执行涉及两个 table 的过滤器查询。
首先,我修改了您的'Followers'模型(命名规则)。
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
我的 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)
我现在想在我的关注者中进行过滤查询 table 选择用户 ID x 和关注者 ID y 的每个条目(我希望从查询中得到一个结果)。
想像一下我已经尝试过并且知道行不通的是这样的:
queryfilter = Followers.object.filter(followers=fid, user=uid)
还有这个:
queryfilter = Followers.object.filter(followers=fid, user__userid=uid)
最后我要接入币:
c = queryfilter.coins
我可能无法通过一个查询来完成它而需要两个,因为我正在尝试执行涉及两个 table 的过滤器查询。
首先,我修改了您的'Followers'模型(命名规则)。 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