models
-
使用ORM技术
- object relational mapping 对象关系映射
-
常规数据库操作,直接insert 等等
-
orm是 业务逻辑 解耦合
- 把sql语句封装成 通用方法
-
关系型数据库
- DDL database define language 定义数据库
- 通过 models 定义来实现 数据库表的定义
-
在 models.py 文件下
class Student(models.Model):
s_name = models.CharField(max_length=16)
s_age = models.IntegerField(default=0)
然后生成迁移文件 命令行:
python manage.py makemigrations
执行迁移命令
python manage.py migrate
增 改
s = Student()
s.s_name = xx
s.save()
查
s = Student.objects.all() 获取全部
s = Student.objects.get(pk=xx)
删
s.delete()
连接mysql
- date source and driver 配置
- 解决 URL 这样写:
- jdbc:mysql://localhost:3306/库名?useSSL=false&serverTimezone=UTC
- 迁移失败
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'.
Did you install mysqlclient or MySQL-python?
- 安装 pymysql
- pip install pymysql
- 伪装成 mysqlclient
- 在 项目 init 内
- import pymysql
- pymysql.install_as_MySQLdb()
- 然后再迁移就ok了