【发布时间】:2011-11-17 17:13:37
【问题描述】:
在我正在构建的视图中,我需要查阅多个数据库。我想要做的是使用 on query_set 的结果来搜索另一个数据库表。
我有正常的 mydb1_query_set,我现在需要的是这样的:
for row in mydb1_query_set:
mydb2_query_set = Mytable.objects.filter(id=row.id)
所以我在迭代时不断添加到最初为空的 mydb2_query_set 中。我意识到没有QuerySet.append,那么我该如何实现我想要的呢?非常感谢任何帮助...
【问题讨论】:
-
包含一些模型描述可能会很好——因为我不喜欢将查询强制到列表中——尤其是在循环中。因此,根据您想要的结果以及您正在使用的内容 - 可以使用注释、分组或其他方式聚合查询。但是对于你正在使用的东西,比如 Mytable.objects.filter(id__in=list(mydb1_query_set)) .. 其中 mydb1_query_set 只是一个 ID 列表。这对你来说可能是完全错误的 - 但我只想向你展示循环和列表转换可能不是唯一/最佳选择。