Django ORM机制

1.定义;

对象关系映射(英文:Object Relational Mapping,简称ORM),用于实现面向对象编程语言里不同新类型系统的数据之间的转换。换句话说,就是用面向对象的方式去操作数据库的创建表,增加、删除、查询等操作。

Django ORM机制_第1张图片
image.png

2.演示:查看ORM生成的sql语句。

A、使用QuerySet中的query属性

B、配置日志系统,将sql显示到控制台

LOGGING = {

'version': 1,

'disable_existing_loggers': False,

'handlers': {

    'console':{

        'level':'DEBUG',

        'class':'logging.StreamHandler',

    },

},

'loggers': {

    'django.db.backends': {

        'handlers': ['console'],

        'propagate': True,

        'level':'DEBUG',

    },

}

}

C、使用一些开发工具 django_debug_toolbar

3、ORM优缺点

优点:

1、ORM使得我们的通用数据库交互变得简单易行,并且完全不用考虑开始的SQL语句。快速开发,由此而来。

2、可以避免一些新手程序猿写sql语句带来的性能效率和安全问题。

缺点:

1、性能有所牺牲,不过现在的各种ORM框架都在尝试使用各种方法来减少这个问题(LazyLoad,Cache),效果还是很显著的。

2、对于个别的负责查询,ORM仍然力不从心。为了解决这个问题,ORm框架一般也提供了直接写原生sql的方式。

你可能感兴趣的:(Django ORM机制)