一、建立连接
打开项目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()参考链接:
本文介绍如何在Django项目中使用MySQL,通过修改settings.py配置连接数据库,然后同步已存在的表,实现增删改查操作。在执行同步时,遇到导入models模块的问题,建议一次性导入所有类来解决。
755

被折叠的 条评论
为什么被折叠?



