Django - 原始SQL查询 - 联接中会发生什么

时间:2011-06-06 13:11:02

标签: django django-models

我正在读我可以use raw SQL in Django and have Django actually build my models from the result

但是我想知道如果我在原始SQL中使用连接会发生什么。 Django将如何知道要使用哪些模型?

(我应该注意哪些其他问题?)

1 个答案:

答案 0 :(得分:4)

重要的不是连接,而是列名称。例如,您可以执行以下操作:

SELECT table.id, other_table.name AS name from table join other_table using (id)

并将其传递到您的table模型中。然后,Django会将other_table中的名称视为来自table的名称,并提供正常的table个实例。我无法想象你为什么要那样做......

重要的是要记住,Django正在使用从SQL到模型结构的非常简单的映射。如果你愿意,你可以颠覆它,但你可能最终会得到一些难以维护的代码。