Django模型(一)
- 手机
- 2025-08-05 03:39:02

一、介绍
模型,就是python中的类对应数据库中的表
1.1、ORMORM 就是通过实例对象的语法,完成关系型数据库的操作的技术,是"对象-关系映射"(Object/Relational Mapping) 的缩写
ORM 把数据库映射成对象
1.2、示例 1.2.1、模型 from django.db import models class Person(models.Model): first_name = models.CharField(max_length=30) last_name = models.CharField(max_length=30) 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 mysqlclient==2.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_length=10) lname = models.CharField(max_length=30) age = models.CharField(max_length=30) class Meta: db_table = 't_person'Django模型(一)由讯客互联手机栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Django模型(一)”
上一篇
如何获得《幻兽帕鲁》隐藏帕鲁唤夜兽?13000个配种配方查询
下一篇
爬虫(一)