Python 使用Django ORM轻松执行原始SQL的工具
我经常需要在django中执行自定义sql查询,每次手动将查询结果转换为对象都有点痛苦。我想知道懒汉们是如何处理这件事的。也许有人编写了某种库来帮助处理Django中的自定义SQL?不太清楚您在寻找什么,但您可以始终在模型上添加一个方法来执行自定义SQL:Python 使用Django ORM轻松执行原始SQL的工具,python,django,orm,Python,Django,Orm,我经常需要在django中执行自定义sql查询,每次手动将查询结果转换为对象都有点痛苦。我想知道懒汉们是如何处理这件事的。也许有人编写了某种库来帮助处理Django中的自定义SQL?不太清楚您在寻找什么,但您可以始终在模型上添加一个方法来执行自定义SQL: 对于更通用的方法,请创建一个定义类似于带有“sql”参数的函数的函数。因为问题是“手动将查询结果转换为对象”,最简单的解决方案通常是查看自定义sql是否适合ORM.extra()调用,而不是纯sql查询。通常可以,然后让ORM像往常一样完成所
对于更通用的方法,请创建一个定义类似于带有“sql”参数的函数的函数。因为问题是“手动将查询结果转换为对象”,最简单的解决方案通常是查看自定义sql是否适合ORM.extra()调用,而不是纯sql查询。通常可以,然后让ORM像往常一样完成所有构建对象的工作。最新的开发版本(future 1.2)有.raw()方法来帮助您:
Person.objects.raw('SELECT * FROM myapp_person')
有关更多信息,请参见。使用django.db连接时如何指定数据库??
Person.objects.raw('SELECT * FROM myapp_person')