我在读我可以 use raw SQL in Django and have Django actually build my models from the result s。
但是我想知道如果我在原始 SQL 中使用连接会发生什么。 Django 如何知道要使用哪些模型?
(还有其他我应该注意的问题吗?)
最佳答案
重要的不是连接,而是列名。例如,您可以执行以下操作:
SELECT table.id, other_table.name AS name from table join other_table using (id)
并将其传递给您的
table
模型。然后 Django 会处理来自 other_table
的名字。好像它们是来自 table
的名字并给您正常的 table
实例。我无法想象为什么你会想要这样做......要记住的重要一点是,Django 使用了一个非常简单的从 SQL 到其模型结构的映射。如果你愿意,你可以颠覆它,但你最终可能会得到一些难以维护的代码。
关于Django - 原始 SQL 查询 - 联接中会发生什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6252502/