我知道 Django 对象关系映射器 (ORM) 有助于弥合数据库和执行原始查询的代码之间的差距。
但我想找出哪个更好 - Raw SQL Queries 或 Django QuerySet ORM。
因此,我对此进行了查询User Table
-
from django.contrib.auth.models import User
然后我查询了 Django ORM QuerySet -
orm_query = User.objects.all()
orm_query
<QuerySet [<User: superadmin>]>
在 QuerySet 我用户之后raw
-
raw_query = User.objects.raw("select * from auth_user")
raw_query
<RawQuerySet: select * from auth_user>
然后我尝试使用.query
它打印这些查询 -
print(orm_query.query)
SELECT `auth_user`.`id`, `auth_user`.`password`, `auth_user`.`last_login`, `auth_user`.`is_superuser`, `auth_user`.`username`, `auth_user`.`first_name`, `auth_user`.`last_name`, `auth_user`.`email`, `auth_user`.`is_staff`, `auth_user`.`is_active`, `auth_user`.`date_joined` FROM `auth_user`
print(raw_query.query)
select * from auth_user
我发现orm_query
比raw_query
. 我想知道哪个最好raw
或orm
查询。我应该使用哪个以获得最佳性能。他们之间有什么区别。