Django+MySQL:同步已存在的表 實現增、刪、改、查
阿新 • • 發佈:2018-12-16
一、建立連線
開啟專案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()