python3 django连接mysql,同步表结构
2017-02-18 08:56
716 查看
第一步:安装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的使用,详见官方文档
https://docs.djangoproject.com/en/dev/topics/db/models/
第四步:同步数据库文件
检查要修改的数据库字段:python3 manage.py makemigrations执行命令后,可以看到如下会修改的内容
同时会在app的migrations中生成一个000开头的文件,文件内写明了要进行的sql操作
修改数据库:python3 manage.py migrate
然后在数据库内会看到新增的表,表名为【app名_class表示的表名】,同时在django_migrations表中添加记录
备注:如果settings.py中的INSTALLED_APPS没有填写当前app,找不到app下要同步的models文件
相关文章推荐
- Python+Django连接mysql 自动创建model
- Linux 下安装Python框架django建立与mysql的连接
- 自学python问题(1)-django连接mysql
- python /django连接 mysql
- python2.7 Django Mysql远程连接
- 【Python】Python3.4 + Django1.7.2 如何连接MySQL
- (django问题)连接数据库mysql(python-mysql)
- python 将 mysql原有的表结构导入到django 的 models中
- python django搭建web工程以及连接MySQL
- python django mysql 连接
- python 连接mysql多层结构实例
- Django -- 0x02、Django连接MySQL(下)(Python3版本)
- python django MySQLdb 连接 mysql 5.5 中文乱码问题的解决
- Python3.4/3.5+Django1.8.16连接MySQL
- django 和 mysql 的连接 MySQL 查看表结构简单命令
- python之路-----web应用的创建(python3.4下,django连接mysql)
- python3.5 中Django框架连接mysql
- django 连接mysql(Python 2.7.5、django 1.10.5)
- python学习——在Python3.6环境下Django连接MySQL
- django 和 mysql 的连接 MySQL 查看表结构简单命令