我使用原始查询,但我无法找到如何获取所有行数据(对应每个表列)。如果我的输入查询有多个左连接。
答案 0 :(得分:1)
据我所知,如果我正确理解了这个问题,那么raw()管理器方法可用于执行原始SQL查询:
for p in Person.objects.raw('SELECT * FROM myapp_person'):
根据文档,这可以提供帮助:https://docs.djangoproject.com/en/dev/topics/db/sql/
对于多连接:
SELECT table.id, other_table.name AS name from table join other_table using (id)
并将其传递到您的表模型中。然后,Django会将来自other_table的名称视为表中的名称并给出正常的表实例。您将查询传递给ModelName.objects.raw(查询)