一. mysql驅動安裝
1.mysqlclient(推薦使用)
2.pymysql
二.django操做數據庫
1.django配置鏈接數據庫
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中操做數據庫
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 中設置 數據庫鏈接 INSTALLED_APPS 導入 app
根據現有的數據庫創建model
python manage.py inspectdb
把模型文件導入到app中
建立一個app
django-admin.py startapp app
python manage.py inspectdb > app/models.py python
6.models.py 定義模型
定義模型
class Book(models.Model):
id不設置的話會自動生成
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)
將模型映射到數據庫
python manage.py makemigrations
python manage.py migratemysql
注意:映射時可能出現的問題:sql
django.db.utils.OperationalError: (1049, "Unknown database 'procrm'")
未找到數據庫,請先建立數據庫:數據庫
create database procrm;
四. ORM模型操做
1.views 導入 模型
from .models import 模型名稱
用法:
1.添加
xx = 模型(name='',。。。)
xx.save()
2.查詢
根據主鍵查找
s = 模型.objects.get(pk=1) 獲取單條數據(pk主鍵)
條件查詢
s = 模型.object.filter(name = '')
3.刪除
book = Book.objects.get(pk=1)
bpp.delete()
4.修改
xx = 模型.objects.get(pk=1)
xx.字段 = 修改後的值
xx.save()
五.Django根據現有數據庫,自動生成models模型文件
Django引入外部數據庫仍是比較方便的,步驟以下 :
建立一個項目,修改seting文件,在setting裏面設置你要鏈接的數據庫類型和鏈接名稱,地址之類,和建立新項目的時候一致
運行下面代碼能夠自動生成models模型文件
Python manage.py inspectdb
這樣就能夠在控制檯的命令行中看到數據庫的模型文件了
把模型文件導入到app中
建立一個app
django-admin.py startapp app
python manage.py inspectdb > app/models.py
ok模型文件已經生成好了。
django