一个空间 多个网站,如何安装网站,西直门网站建设,注册页面模板一、介绍 模型#xff0c;就是python中的类对应数据库中的表
1.1、ORM
ORM 就是通过实例对象的语法#xff0c;完成关系型数据库的操作的技术#xff0c;是对象-关系映射#xff08;Object/Relational Mapping#xff09; 的缩写 ORM 把数据库映射成对象 1.…一、介绍 模型就是python中的类对应数据库中的表
1.1、ORM
ORM 就是通过实例对象的语法完成关系型数据库的操作的技术是对象-关系映射Object/Relational Mapping 的缩写 ORM 把数据库映射成对象 1.2、示例
1.2.1、模型
from django.db import modelsclass Person(models.Model):first_name models.CharField(max_length30)last_name models.CharField(max_length30)1.2.2、数据库表
CREATE TABLE myapp_person (id bigint NOT NULL PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY,first_name varchar(30) NOT NULL,last_name varchar(30) NOT NULL
);说明 模型类必须继承models.Model每个属性对应数据库表中的一个字段表名自动使用 应用_类名 的小写如polls_question可以覆盖重写如果模型类中没有指定 primary_key 那么会自动创建一个 id 字段自增主键 二、MySQL数据库迁移 当编写了模型之后需要将模型应用到数据库中具体步骤如下 创建项目model_study,及子应用model_app #创建项目
$ django-admin startproject model_study
#进入项目目录创建子应用
$ python manage.py startapp model_app配置应用将模型对应的应用程序添加到项目的settings中 INSTALLED_APPS [model_app
]在settings.py中配置正确的数据库连接 # mysql
DATABASES {default: {ENGINE: django.db.backends.mysql,NAME: model_study,USER: root,PASSWORD: root,HOST: 127.0.0.1,PORT: 3306,}
}注意 需要安装对应数据库的驱动 pip install mysqlclient2.1.1 pip install pymysql # __init__.py
import pymysql
pymysql.install_as_MySQLdb()需要在mysql数据库中创建数据库model_study 2.1、创建迁移
在项目根目录的cmd中运行
$ python manage.py makemigrations model_app备注 model_app是子应用的名称如果不指定那么就是对所有 INSTALLED_APPS 中的应用都进行预备迁移指定该命令后在对应的子应用下的 migrations 中会生成一个对应的迁移文件 2.2、正式迁移
在根目录的cmd中运行
$ python manage.py migrate备注 没有添加子应用名那么就会把django项目中所有的应用都迁移到数据库中 三、sqlite3数据库迁移 当编写了模型之后需要将模型应用到数据库中具体步骤如下 创建项目model_study,及子应用model_app #创建项目
$ django-admin startproject model_study
#进入项目目录创建子应用
$ python manage.py startapp model_app配置应用将模型对应的应用程序添加到项目的settings中 INSTALLED_APPS [model_app
]在settings.py中配置正确的数据库连接 # sqlite3
DATABASES {default: {ENGINE: django.db.backends.sqlite3,NAME: os.path.join(BASE_DIR, db.sqlite3),}
}注意 需要安装对应数据库的驱动需要在mysql数据库中创建数据库model_study 3.1、创建迁移 在项目根目录的cmd中运行 $ python manage.py makemigrations model_app备注 model_app是子应用的名称如果不指定那么就是对所有 INSTALLED_APPS 中的应用都进行预备迁移指定该命令后在对应的子应用下的 migrations 中会生成一个对应的迁移文件 3.2、正式迁移 在根目录的cmd中运行 $ python manage.py migrate备注 没有添加子应用名那么就会把django项目中所有的应用都迁移到数据库中 四、更新数据库表结构 不管是新增模型还是修改已有模型后只需要执行行命令即可 4.1、创建迁移 在项目根目录的cmd中运行 $ python manage.py makemigrations model_app备注 model_app是子应用的名称如果不指定那么就是对所有 INSTALLED_APPS 中的应用都进行预备迁移指定该命令后在对应的子应用下的 migrations 中会生成一个对应的迁移文件 4.2、正式迁移 在根目录的cmd中运行 $ python manage.py migrate备注 没有添加子应用名那么就会把django项目中所有的应用都迁移到数据库中 4.3、设置表名 在模型中建立内部类Meta设置db_table即可 # Create your models here.
class Person(models.Model):first_name models.CharField(max_length10)lname models.CharField(max_length30)age models.CharField(max_length30)class Meta:db_table t_person