您的位置:首页 > 数据库 > SQL

django连接mysql数据库和操作数据库

2017-03-22 19:19 711 查看
最近看了下django框架,默认使用的是sqlite3,管理的话不是很方便,所以想改成MySQL,遇坑就记录一下

目前用的是python3.5好多的之前的mysql扩展根本用不了,搜了一顿找到了下面的这个包(解压使用命令行
python setup.py install
1
1

就可以安装 

)。 

安装完成就是进行配置,在settings.py中修改配置如下:
# Database
# https://docs.djangoproject.com/en/dev/ref/settings/#databases 
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'django',    #你的数据库名称
'USER': 'root',   #你的数据库用户名
'PASSWORD': '', #你的数据库密码
'HOST': '', #你的数据库主机,留空默认为localhost
'PORT': '3306', #你的数据库端口
}
}
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文件中加入:
import pymysql
pymysql.install_as_MySQLdb()
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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐