嗯,有一个复杂的查询。假设我们有 3 张桌子。
class Logs:
user = ForeignKey(User)
...
class User:
name = CharField()
...
class User_Info:
user = ForeignKey(User)
address = CharField()
...
我想要做的是通过用户关联表 Logs 和 User_Info。基本上,我想做一个连接,以获取一个新表,该表将包含来自日志、用户和来自 User_Info 的地址的所有字段。我知道 select_related。但它只能结合日志和用户。
如何让 User_Info 参与其中?我想最小化数据库调用。所以理想的答案应该是一个数据库命中。
编辑:我很欣赏下面的回答。我只想为这个问题提供我的最终解决方案。
如果您确实有一些复杂的查询,只需使用 objects.raw()。它将解决您的大部分问题。