意外的join()导致了peewee

时间:2016-12-02 18:21:27

标签: python sqlite peewee

我正在使用Python Flask克隆twitter,只是为了好玩。所以,我有三个模型用户(姓名,用户名,电子邮件,...),关系(关注者,关注者)和推文(用户,内容)。我想通过执行以下查询来过滤掉我关注的用户的推文。

Tweet.select().join(
         Relationship, on=Relationship.followee
        ).where(Relationship.follower==current_user)

此查询运行时没有错误,除了它会产生意外结果。它过滤掉了我自己的(登录用户)推文而不是我关注的用户的推文。我搜索了一下,发现我们可以用不同的查询来实现所需的东西:

Tweet.select().where(Tweet.user << current_user.get_followees())

其中 get_followees 是User模型类中定义的函数,它返回我关注的用户。我很高兴我得到了我期望的结果,但我想知道我的第一个查询中有什么错误/缺失。顺便说一下,我正在使用 sqlite

0 个答案:

没有答案