一. 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
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 migrate
注意:映射时可能出现的问题:
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模型文件已经生成好了。