最近看了下django框架,默认使用的是sqlite3,管理的话不是很方便,所以想改成MySQL,遇坑就记录一下
目前用的是python3.5好多的之前的mysql扩展根本用不了,搜了一顿找到了下面的这个包(解压使用命令行
- 1
- 1
就可以安装
)。
安装完成就是进行配置,在settings.py中修改配置如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
以上是说明修改为mysql数据库,另外很重要的一点需要说明的是,python3.5目前不支持mysqlDb,因此前面安装的是PyMysql,但是django默认使用的是mysqlDb,所以需要在init.py文件中加入:
- 1
- 2
- 1
- 2
代表使用pymysql代替mysqlDb
以上,在按照官方文档就可以使用mysql支持的django框架了
pymysql文件包如下:
地址:链接: http://pan.baidu.com/s/1qXYkCZq 密码: jefd
-
操作:
-
增加:创建实例,并调用save
-
更新:a.获取实例,再sava;b.update(指定列)
-
删除:a. filter().delete(); b.all().delete()
-
获取:a. 单个=get(id=1) ;b. 所有 = all()
-
过滤:filter(name='xxx');filter(name__contains='');(id__in = [1,2,3]) ;
icontains(大 小写无关的LIKE),startswith和endswith, 还有range(SQLBETWEEN查询)'gt', 'in', 'isnull', 'endswith', 'contains', 'lt', 'startswith', 'iendswith', 'icontains','range', 'istartswith' -
排序:order_by("name") =asc ;order_by("-name")=desc
-
返回第n-m条:第n条[0];前两条[0:2]
-
指定映射:values
-
数量:count()
-
聚合:from django.db.models import Min,Max,Sum objects.all().aggregate(Max('guest_id'))
-
原始SQL
123cursor
=
connection.cursor()
cursor.execute(''
'SELECT DISTINCT first_name ROM people_person WHERE last_name = %s""", ['
Lennon'])
row
=
cursor.fetchone()