修改默认sqlite3为mysql
1,在pycharm中添加pymysql(File-->settings-->project-->Project Interpreter-->'+'-->搜索pymysql-->install)
2,修改settings的默认设置
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '数据库名',#注意,数据库必须在mysql中存在,否则报错,如下
#pymysql.err.InternalError: (1049, "Unknown database 'database'")
'USER':'用户名'
'PASSWORD':'数据库密码'
'HOST':'localhost',
'PORT':'3306'
}
3,在__init__.py中添加如下代码:
import pymysql
pymysql.install_as_MySQLdb()
4,在应用中创建模型,进行模型操作,模型中的每一个类,对应的相当与是数据库中的一张表
model中char类型的数据必须指定最大长度,否则报错如下:polls.Students.scontend: (fields.E120) CharFields must define a 'max_length' attribute.
5,生成数据表
(1)生成迁移文件python manage.py makemigrations
(2)执行迁移python manage.py migrate
(3)向数据库中添加数据
from polls.models import Grades,Students
from django.utils import timezone
from datetime import *
grade = Grades()
grade.gname = 'django'
grade.gboynum = 80
grade.gdate = datetime(year=2018,month=11,day=23)
grade.ggirlnum = 45
grade.isDelete = False
grade.save()
查询数据:
g = Grades.objects.get(pk=2)#查看id为2的数据,返回一个object
print(g.gname)
修改数据:
g.gname = 'java'
g.save()
print(g.gname)
删除数据:
g.delete()
(1, {'polls.Students': 0, 'polls.Grades': 1})
关联对象
stu.grade = grade