一、建立连接
打开项目settings.py,找到DATABASES字典。default默认使用的是sqlplite3,修改驱动为mysql。
mysql默认端口号是3306,可通过命令查看。name是要导入的数据库名称
mysql> show global variables like 'port'
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'qcwy', 'USER':'root', 'PASSWORD':'system', 'HOST':'127.0.0.1', 'PORT':'3306', } }
二 同步已存在的表
使用命令:
python manage.py inspectdb python manage.py inspectdb > django_web/models.py
django_web是我的应用名称,导入views所在应用内的models.py 这样views就可以直接访问models啦
如果models中出现许多类,对应数据库中的每一张表。每个类最下面有meta,对应的db_table即表名,此时导入成功啦
class Meta: managed = False db_table = 'qcwytable'
三 对数据进行增删改查
在MTV模式中,views就像一个完型填空,context是填来自models的数据
导入models,包含models所有的表
from . import models
也可以直接导入表
from django_web.models import Qcwytable
有一个小问题:
from models import Qcwytable提示找不到models,很神奇,但写绝对路径就没问题,所以建议采用第一种方式,一次导入所有的类
获取所有数据
temp = models.Qcwytable.objects.all()
增加一行记录:保存
add = models.Qcwytable(key='00003',title='Test Company') add.save();
查找记录
res = models.Qcwytable.objects.get(key = '00003')
删除记录:先查找 后删除
修改记录:先查找,后修改,再保存
res = models.Qcwytable.objects.get(key = '00003') res.delete()
参考链接:
res = models.Qcwytable.objects.get(key = '00001') res.title='python工程师' res.company='QF Company' res.save()