zoukankan      html  css  js  c++  java
  • Django进阶Model篇001

    django 默认支持sqlite、mysql、oracle、postgresql数据库,像db2和sqlserver之类的数据库需要第三方的支持,具体详见:

    https://docs.djangoproject.com/en/1.10/ref/databases/

    环境准备

    • 使用命令行创建hello_django 项目与hello app
    django-admin startproject hello_django
    cd hello_django
    django-admin startapp hello
    
    • 使用pycharm导入

    MYSQL介绍与连接配置

    1.mysql 引擎名称介绍:

    django.db.backends.mysql

    2.mysql 驱动程序介绍:

    MySQLdb(mysql-python):https://pypi.python.org/pypi/MySQL-python/1.2.5

    PyMySQL(纯python的mysql驱动-推荐) :https://pypi.python.org/pypi/PyMySQL

    演示pymysql的使用

    1.安装:

    pip install pymysql
    

    2.数据库连接配置 setting.py

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'hello_django_db',
            'USER':'root',
            'PASSWORD':'123456',
            'HOST':'',
            'PORT':'',
        }
    }
    

    3.创建数据库 hello_django_db

     4.编辑hello_django\__init__.py

    import pymysql
    pymysql.install_as_MySQLdb()
    

    5.配置完毕,可运行项目

    ORM机制

    1.定义

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

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

    A、查看QuerySet中的query属性

    def hello(request):
        user_list=User.objects.all()
        print user_list.query
        ...

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

    LOGGING = {
        'version': 1,
        'disable_existing_loggers': False,
        'handlers': {
            'console': {
                'level': 'DEBUG',
                'class': 'logging.StreamHandler',
            },
        },
        'loggers': {
            'django': {
                'handlers': ['console'],
                'level': 'DEBUG',
                'propagate': True,
            },
        },
    }
    

    更多详情见:https://docs.djangoproject.com/en/1.10/topics/logging/


    ***微信扫一扫,关注“python测试开发圈”,了解更多测试教程!***
  • 相关阅读:
    惭愧无法面对的SQL ORDER BY
    JVM参数官方说明
    Java Unsafe 测试代码
    好记性不如烂笔头-Duration与Period中字母含义
    计算机组成原理中源码、反码、补码存在意义
    线程池参数、线程池扩容以及拒绝策略触发时机demo代码
    朴素贝叶斯法
    K近邻法与kd树
    EM算法
    熵、交叉熵、KL散度、JS散度
  • 原文地址:https://www.cnblogs.com/guanfuchang/p/6401332.html
Copyright © 2011-2022 走看看