【问题标题】:Django two parameter filter query with foreign keyDjango 两参数过滤查询带外键
【发布时间】:2017-12-02 19:28:04
【问题描述】:

我的 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)

我现在想在我的 Followers 表中进行过滤查询,选择用户 ID x 和追随者 ID y 的每个条目(我希望从查询中得到一个结果)。

将我尝试过但知道行不通的方法可视化如下:

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

还有这个:

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

最后我想访问硬币:

c = queryfilter.coins

我可能无法用一个查询来完成,需要两个,因为我正在尝试使用涉及两个表的过滤器查询。

【问题讨论】:

    标签: django foreign-keys models


    【解决方案1】:

    首先,我修改了您的“追随者”模型(用于命名约定)。 模型.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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-04
      • 2023-03-11
      • 2013-09-17
      • 1970-01-01
      • 2019-08-17
      • 2014-01-08
      • 2020-06-22
      • 1970-01-01
      相关资源
      最近更新 更多