写在前面
ORM,全称Object Relational Mapping,中文叫做对象关系映射,通过ORM我们可以通过类的方式去操作数据库,而不用再写原生的SQL语句。通过把表映射成类,把行作实例,把字段作为属性,ORM在执行对象操作的时候最终还是会把对应的操作转换为数据库原生语句
django中ORM模型建立步骤
- 建立一张表(在数据库中,手动)
- 在django中配置数据库
- 新建app
- 将app添加到installed_apps列表中
- 写模型(类的形式)
- 映射到数据库中
建立一张表(在数据库中,手动)
create table table_name(id int) engine=myisam;
create table db_ceshi.t1(id int,name varchar(50),salry decimal(10.2),dept varchar(50));
在django中配置数据库
在settings.py文件中写入如下配置
DATABASES={
'default':{
'ENGINE':'django.db.backends.mysql',
'NAME':'orm_table_name',#表的名称
'USER':'root',#用户
'PASSWORD':'root',#密码
'HOST':'127.0.0.1',#主机
'PORT':'3306',#端口
}
}
新建app
在项目目录下
运行
python manage.py startapp app_name
将app添加到installed_apps列表中
添加app到install_apps列表
INSTALLED_APPS=[
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app_name'#添加app
]
写模型(类的形式)
在app目录下的models.py文件中
From django.db import models
#Createyourmodelshere.
class Book(models.Model):
#1.IDint自增长
id=models.AutoField(primary_key=True)#自动增加
#2.namevarchar100
name=models.CharField(max_length=100,null=False)
#3.authorvarchar100
author=models.CharField(max_length=100,null=False)
#4.pricefloat100
price=models.FloatField(null=False,default=0)
class Publisher(models.Model):
name=models.CharField(max_length=100,null=False)
address=models.CharField(max_length=100,null=False)
映射到数据库中
映射到数据库中
分为两步实现
1.生成脚本文件
2.映射到数据库中
生成脚本文件
python manage.py makemigrations
映射到数据库中
python manage.py migrate
如果模型有修改,则重复执行该步