Django+MySQL:同步已存在的表 实现增、删、改、查

一、建立连接

打开项目settings.py,找到DATABASES字典。default默认使用的是sqlplite3,修改驱动为mysql。

mysql默认端口号是3306,可通过命令查看。name是要导入的数据库名称

mysql> show global variables like 'port'
   
   

   
   
  1. DATABASES = {
  2. 'default': {
  3. 'ENGINE': 'django.db.backends.mysql',
  4. 'NAME': 'qcwy',
  5. 'USER':'root',
  6. 'PASSWORD':'system',
  7. 'HOST':'127.0.0.1',
  8. 'PORT':'3306',
  9. }
  10. }

二 同步已存在的表

使用命令:


   
   
  1. python manage.py inspectdb
  2. python manage.py inspectdb > django_web/models.py

django_web是我的应用名称,导入views所在应用内的models.py 这样views就可以直接访问models啦

如果models中出现许多类,对应数据库中的每一张表。每个类最下面有meta,对应的db_table即表名,此时导入成功啦


   
   
  1. class Meta:
  2. managed = False
  3. 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()
    
    
增加一行记录:保存

    
    
  1. add = models.Qcwytable(key='00003',title='Test Company')
  2. add.save();
查找记录
res = models.Qcwytable.objects.get(key = '00003')
    
    
删除记录:先查找 后删除

    
    
  1. res = models.Qcwytable.objects.get(key = '00003')
  2. res.delete()
修改记录:先查找,后修改,再保存

    
    
  1. res = models.Qcwytable.objects.get(key = '00001')
  2. res.title='python工程师'
  3. res.company='QF Company'
  4. res.save()
参考链接:


 
   





转载:http://blog.csdn.net/itas109

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值