一. mysql驅(qū)動安裝
1.mysqlclient(推薦使用)
2.pymysql
二.django操作數(shù)據(jù)庫
1.django配置連接數(shù)據(jù)庫
settings.py -->Database
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'py_db',
'USER': 'root',
'PASSWORD': 'root',
'HOST': '127.0.0.1',
'PORT': '3308'
}
}
2. 在django中操作數(shù)據(jù)庫
from django.db import
方式一:
原生sql語句
方式二:
ORM模型
三.ORM 模型 :
1.新建項目
2.新建app
3.主urls.py中引入include
include('app.urls')
4.app下新建urls.py
from django.contrib import admin
from django.urls import path
from front import views
app_name='front'
urlpatterns = [
path('',views.index,name='index')
]
5.setting.py 中設(shè)置 數(shù)據(jù)庫連接 INSTALLED_APPS 導入 app
根據(jù)現(xiàn)有的數(shù)據(jù)庫建立model
python manage.py inspectdb
把模型文件導入到app中
創(chuàng)建一個app
django-admin.py startapp app
python manage.py inspectdb > app/models.py
6.models.py 定義模型
定義模型
class Book(models.Model):
id不設(shè)置的話會自動生成
id = models.AutoField(prinary_key=True)
name = models.CharField(max_length = 100,null = False)
author = models.CharField(max_length = 100,null = False)
price = models.FloatField(null = False,default=0)
def __str__(self):
return '<Boook:({name},{author},{price})>'.format(name=self.name,author=self.author,price.self = price)
將模型映射到數(shù)據(jù)庫
python manage.py makemigrations
python manage.py migrate
四. ORM模型操作
1.views 導入 模型
from .models import 模型名稱
用法:
1.添加
xx = 模型(name='',。。。)
xx.save()
2.查詢
根據(jù)主鍵查找
s = 模型.objects.get(pk=1) 獲取單條數(shù)據(jù)(pk主鍵)
條件查詢
s = 模型.object.filter(name = '')
3.刪除
book = Book.objects.get(pk=1)
bpp.delete()
4.修改
xx = 模型.objects.get(pk=1)
xx.字段 = 修改后的值
xx.save()
五.Django根據(jù)現(xiàn)有數(shù)據(jù)庫,自動生成models模型文件
Django引入外部數(shù)據(jù)庫還是比較方便的,步驟如下 :
創(chuàng)建一個項目,修改seting文件,在setting里面設(shè)置你要連接的數(shù)據(jù)庫類型和連接名稱,地址之類,和創(chuàng)建新項目的時候一致
運行下面代碼可以自動生成models模型文件
Python manage.py inspectdb
這樣就可以在控制臺的命令行中看到數(shù)據(jù)庫的模型文件了
把模型文件導入到app中
創(chuàng)建一個app
django-admin.py startapp app
python manage.py inspectdb > app/models.py
ok模型文件已經(jīng)生成好了。