第一步:安装PyMySQ代替MySQLdb

pip3 install PyMySQL
然后在工程目录的__init__.py中填写下面两句话
 
import pymysql
pymysql.install_as_MySQLdb()
 
 
问题:安装过程中如果提示No module named 'MySQLdb'
 
解决方法:python3使用上面的方法替代MySQLdb
原因:python3中,不再使用MySQLdb包了

第二步:配置数据库和INSTALLED_APPS(app下的settings.py)

配置数据库
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',#数据库引擎
        'NAME': 'UITest',#数据库名
        'USER':'root',#数据库用户名
        'PASSWORD':'123456',#数据库密码
        'HOST':'',#数据库地址,默认localhost
        'PORT':'',#数据库端口,默认3306
    }
}
 
配置INSTALLED_APPS
在INSTALLED_APPS下添加app名
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'webManage',
]

第三步:创建model.py

class后的是表名,继承models.Model,下面写表中的字段名,字段支持多种类型
 
from django.db import models
# Create your models here.

class page(models.Model):
    pageid=models.IntegerField().primary_key
    chinessname=models.CharField()
    englishname=models.CharField().unique
    pagedesc=models.CharField()

class elements(models.Model):
    elementid=models.IntegerField().primary_key
    pageid=models.ForeignKey(page)
    variablename=models.CharField().unique
    variabledesc=models.CharField()
    find_by_android_option=models.CharField()
    find_by_android_value=models.CharField()
    find_by_iOS_option=models.CharField()
    find_by_iOS_value=models.CharField()

 
更多关于models的使用,详见官方文档
 

第四步:同步数据库文件

 检查要修改的数据库字段:python3 manage.py makemigrations
 
执行命令后,可以看到如下会修改的内容
同时会在app的migrations中生成一个000开头的文件,文件内写明了要进行的sql操作
 
 
修改数据库:python3 manage.py migrate
然后在数据库内会看到新增的表,表名为【app名_class表示的表名】,同时在django_migrations表中添加记录
 
备注:如果settings.py中的INSTALLED_APPS没有填写当前app,找不到app下要同步的models文件
 

python3 django连接mysql,同步表结构的更多相关文章

  1. python3 django连接mysql数据库

    在django中将模型类中的数据迁移到mysql数据库中,首先使用pip install pymysql安装pymysql库, 然后在项目中的__init__.py中添加 import pymysql ...

  2. Python3:Django连接Mysql数据库时出错,'Did you install mysqlclient or MySQL-python?'

    Python3:Django连接Mysql数据库时出错,'Did you install mysqlclient or MySQL-python?' 一.原因 因为Python版本问题,MySQLdb ...

  3. Python3之Django连接mysql数据库

    一.mysql服务器 系统版本:CentOS6.8 IP :10.0.0.51 版本 1.授权root远程登录 grant all on *.* to 'root'@'%' identifide by ...

  4. Django 连接mysql数据库中文乱码

    Django 连接mysql数据库中文乱码 2018年08月25日 20:55:15 可乐乐乐乐乐 阅读数:566   版本:CentOS6.8 python3.6.4 django1.8.2 数据库 ...

  5. python测试开发django-10.django连接mysql

    前言 Django 对各种数据库提供了很好的支持,包括:PostgreSQL.MySQL.SQLite.Oracle.本篇以mysql为例简单介绍django连接mysql进行数据操作 Django连 ...

  6. [技术博客]django连接mysql数据库的方法及部分问题的解决方法

    配置机器介绍 操作系统:Ubuntu 18.04.2 LTS 64位 python版本:Python 3.6.7 Django版本:Django 2.2 MySql版本:5.7.26 数据库选择 我们 ...

  7. python3.4连接mysql数据库的方法

    python3.4连接mysql数据库的方法 发布时间:2014-08-04编辑:www.jbxue.com 本文介绍了python3.4连接mysql数据库的方法,在python3.4中不能用mys ...

  8. django连接mysql数据库以及建表操作

    django连接mysql数据库需要在project同名的目录下面的__init__.py里面加入下面的东西 import pymysql pymysql.install_as_MySQLdb() 找 ...

  9. CentOS7 + Python3 + Django(rest_framework) + MySQL + nginx + uwsgi 部署 API 开发环境, 记坑篇

    CentOS7 + Python3 + Django(rest_framework) + MySQL + nginx + uwsgi 部署 API 开发环境 CentOS7 + Python3 + D ...

随机推荐

  1. phpstorm xdebug

    xdebug安装 https://xdebug.org/wizard.php http://blog.csdn.net/zhyh1986/article/details/45172685 http:/ ...

  2. Android NDK R9 安装配置 无需Cygwin

    转自:http://www.cr173.com/soft/66623.html NDK是一个工具集,可让您实现您的应用程序使用本机代码的语言,如C和C + +.Android NDK 是在SDK前面又 ...

  3. 【Spring学习笔记-MVC-2】spring导出Excel

    说明: 1.结合Spring MVC实现Excel导出功能: 2. 在MVC配置文件中配置Excel视图解析器: 需要的jar包 以poi开头的jar包都是必须的 web.xml <?xml v ...

  4. VMware NAT模式下设置网络

    一.虚拟机NAT模式原理 NAT模式在VMware下又称VMnet8.在这种模式下,宿主机有两块网卡,一块是真实的物理网卡(即NAT device),连接Network:一块是 VMware Netw ...

  5. ssh-keygen的使用方法(无密码访问)

    一.概述 1.就是为了让两个linux机器之间使用ssh不需要用户名和密码.采用了数字签名RSA或者DSA来完成这个操作 2.模型分析 假设 A (192.168.20.59)为客户机器,B(192. ...

  6. 用 tornado 做网站 (7)

    转自:http://wiki.jikexueyuan.com/project/start-learning-python/309.html 用 tornado 做网站 (7) 到上一节结束,其实读者已 ...

  7. javascript 节点操作拷贝节点cloneNode()

    cloneNode(a)方法接受一个布尔值参数,表示是否深拷贝 true:表示执行深拷贝,复制本节点以及整个子节点树. false:浅拷贝.只复制节点本身. 复制后返回的节点副本属于文档所有,但是并没 ...

  8. 第3章 文件I/O(5)_五种I/O模型

    6. I/O处理方式(5种I/O模型) 6.1 几个概念的辨析 (1)同步和异步 ①是访问数据的方式,主要是针对IO(资源.数据)而言的.关键在于I/O操作完成后,有没有提供通知机制. ②同步的IO, ...

  9. 常用Java程序片段

    1.改变数组的大小 package com.js.ai.modules.jsa.test; public class Testxf { private static Object resizeArra ...

  10. 给iOS开发新手送点福利,简述UIPikerView的属性和用法

    1.   numberOfComponents:返回UIPickerView当前的列数 NSInteger num = _pickerView.numberOfComponents; NSLog( @ ...