我正在读我可以use raw SQL in Django and have Django actually build my models from the result。
但是我想知道如果我在原始SQL中使用连接会发生什么。 Django将如何知道要使用哪些模型?
(我应该注意哪些其他问题?)
答案 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到模型结构的非常简单的映射。如果你愿意,你可以颠覆它,但你可能最终会得到一些难以维护的代码。