详解关于Django中ORM数据库迁移的配置


Posted in Python onOctober 08, 2018

简介

ORM:

关系对象映射。定义一个类自动生成数据库的表结构。

创建数据库的时候,一般有以下几种常用数据类型:数字、字符串以及时间。

ORM分为两种:

  • DB First 数据库里先创建数据库表结构,根据表结构生成类,根据类操作数据库
  • Code First 先写代码,执行代码创建数据库表结构

主流的orm都是code first。django 的orm也是code first,所以学的时候,本质就分为两块:

  • 根据类自动创建数据库表
  • 根据类对数据库表中的数据进行各种操作

手动创建mysql数据库,例如db_Django03

create database root charset=utf8;

1,若想将模型转为mysql数据库中的表,需要在settings中配置:

DATABASES = {
  'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME':'bms',      # 要连接的数据库,连接前需要创建好
    'USER':'root',


 # 连接数据库的用户名
    'PASSWORD':'',


 # 连接数据库的密码
    'HOST':'127.0.0.1',    # 连接主机,默认本级
    'PORT':3306  
    # 端口 默认3306
  }
}

2,需要激活我们的mysql。然后,启动项目,会报错:no module named MySQLdb 。这是因为django默认你导入的驱动是MySQLdb,可是MySQLdb 对于py3有很大问题,所以我们需要的驱动是PyMySQL 所以,我们只需要找到项目名文件下的init,在里面写入:

import pymysql
pymysql.install_as_MySQLdb()

*注意1,需确保配置文件中的INSTALLED_APPS中写入我们创建的app名称

INSTALLED_APPS = [
  'django.contrib.admin',
  'django.contrib.auth',
  'django.contrib.contenttypes',
  'django.contrib.sessions',
  'django.contrib.messages',
  'django.contrib.staticfiles',
  "book"
]

*注意2,如果报错如下:

django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.3 or newer is required; you have 0.7.11.None

MySQLclient目前只支持到python3.4,因此如果使用的更高版本的python,需要修改如下:

通过查找路径C:\Programs\Python\Python36-32\Lib\site-packages\Django-2.0-py3.6.egg\django\db\backends\mysql 这个路径里的文件把

if version < (1, 3, 3):
   raise ImproperlyConfigured("mysqlclient 1.3.3 or newer is required; you have %s" % Database.__version__)

注释掉 就OK了。

*注意3,如果想打印orm转换过程中的sql,需要在settings中进行如下配置:

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
从零学Python之入门(四)运算
May 27 Python
python实现每次处理一个字符的三种方法
Oct 09 Python
python smtplib模块发送SSL/TLS安全邮件实例
Apr 08 Python
Python操作列表之List.insert()方法的使用
May 20 Python
python中如何正确使用正则表达式的详细模式(Verbose mode expression)
Nov 08 Python
Python针对给定列表中元素进行翻转操作的方法分析
Apr 27 Python
PyTorch读取Cifar数据集并显示图片的实例讲解
Jul 27 Python
Python机器学习算法库scikit-learn学习之决策树实现方法详解
Jul 04 Python
python网络编程之多线程同时接受和发送
Sep 03 Python
Python生成个性签名图片获取GUI过程解析
Dec 16 Python
python 日志模块logging的使用场景及示例
Jan 04 Python
浅析python字符串前加r、f、u、l 的区别
Jan 24 Python
面向初学者的Python编辑器Mu
Oct 08 #Python
Django 实现购物车功能的示例代码
Oct 08 #Python
一行代码让 Python 的运行速度提高100倍
Oct 08 #Python
Python django使用多进程连接mysql错误的解决方法
Oct 08 #Python
Python Pandas批量读取csv文件到dataframe的方法
Oct 08 #Python
Python中的函数式编程:不可变的数据结构
Oct 08 #Python
详解多线程Django程序耗尽数据库连接的问题
Oct 08 #Python
You might like
cmd下运行php脚本
2008/11/25 PHP
PHP实现提取一个图像文件并在浏览器上显示的代码
2012/10/06 PHP
php中动态变量用法实例
2015/06/10 PHP
PHP基于session.upload_progress 实现文件上传进度显示功能详解
2019/08/09 PHP
菜鸟javascript基础整理1
2010/12/06 Javascript
jQuery编辑器KindEditor4.1.4代码高亮显示设置教程
2013/03/01 Javascript
css+js实现部分区域高亮可编辑遮罩层
2014/03/04 Javascript
在JavaScript中使用开平方根的sqrt()方法
2015/06/15 Javascript
nodejs 的 session 简单使用
2016/06/06 NodeJs
JS验证字符串功能
2017/02/22 Javascript
jQuery+ThinkPHP+Ajax实现即时消息提醒功能实例代码
2017/03/21 jQuery
详解ECMAScript6入门--Class对象
2017/04/27 Javascript
JavaScript-定时器0~9抽奖系统详解(代码)
2017/08/16 Javascript
vue.js 嵌套循环、if判断、动态删除的实例
2018/03/07 Javascript
解决vue2 在mounted函数无法获取prop中的变量问题
2018/11/15 Javascript
在Vue中使用Echarts实例图的方法实例
2020/10/10 Javascript
浅析微信小程序自定义日历组件及flex布局最后一行对齐问题
2020/10/29 Javascript
[02:00]DOTA2英雄COSPLAY闹市街头巡游助威2015国际邀请赛
2015/08/02 DOTA
[48:31]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第二场 12.17
2020/12/19 DOTA
python字符串排序方法
2014/08/29 Python
利用Python的Django框架中的ORM建立查询API
2015/04/20 Python
Python实现获取域名所用服务器的真实IP
2015/10/25 Python
spark: RDD与DataFrame之间的相互转换方法
2018/06/07 Python
python 批量修改/替换数据的实例
2018/07/25 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
2019/11/15 Python
python获取百度热榜链接的实例方法
2020/08/25 Python
中外合拍动画首获奥斯卡提名,“上海出品”《飞奔去月球》能否拿下最终大奖?
2021/03/16 国漫
HTML5如何为形状图上颜色怎么绘制具有颜色和透明度的矩形
2014/06/23 HTML / CSS
金牌葡萄酒俱乐部:Gold Medal Wine Club
2017/11/02 全球购物
《春笋》教学反思
2014/04/15 职场文书
环保倡议书怎么写
2014/05/16 职场文书
我的中国梦演讲稿600字
2014/08/19 职场文书
党员教师四风问题对照检查材料
2014/09/26 职场文书
2014年护理工作总结范文
2014/11/14 职场文书
2015年加油站站长工作总结
2015/05/27 职场文书
纪律委员竞选稿
2015/11/19 职场文书