代码之家  ›  专栏  ›  技术社区  ›  satoru

在使用ORMAPI时,如何将原始SQL与ORMAPI混合使用django.db?

  •  2
  • satoru  · 技术社区  · 14 年前

    当我们需要的查询很简单时,ORM工具是很好的 select insert 条款。

    如何处理从中返回的对象之间的差异 原始查询 orm查询 ?

    2 回复  |  直到 14 年前
        1
  •  2
  •   Filip Dupanović    14 年前

    我个人致力于设计我的模型,这样我就不必费心编写原始的SQL查询,也不必回心转意地混用在 ContentTypes

    文档涵盖了 performing raw SQL queries Manager.raw() MyModel.objects.raw() ),用于可以将列映射回实际模型字段的查询,或 cursor 查询数据库连接上的原始行。

    Manager.raw() ,您将与 RawQuerySet QuerySet . 对于所有相关的事情,当处理结果对象时,两个模拟容器是相同的,但是 查询集

    我可以想象,在Django中执行原始SQL查询比使用没有ORM支持的框架更有价值Django可以管理您的数据库模式并为您提供数据库连接,您只需手动创建查询并定位查询参数。生成的行可以作为列表或字典进行访问,这两者都使其适合在模板中显示或执行其他提升。

        2
  •  1
  •   ars    14 年前

    queries 因此,您通常可以不使用原始sql就离开。如果您确实需要深入到原始sql,那么可以使用 connection.execute . 但也有像这样的帮手 text select functions 使编程时更容易。至于处理返回的对象,您可以得到一个元组列表,这些元组以pythonic的方式简单地处理。