ORM框架;数据库配置;定义表与字段;数据库迁移和维护;

时间:2024-03-16 14:43:50

orm框架

之前,我们都是用SQL语句来操作数据库,MySQL有MySQL的语句,Oracle有Oracle的语句,比较多。并且,SQL语句比较难写。
那么,我们使用orm语法,它是一种对数据库增删改查的途径,比较简单,并能够通过orm框架,自动地将语句转变为连接的数据库的语句。
ORM框架;数据库配置;定义表与字段;数据库迁移和维护;

数据库配置

把django框架和MySQL数据库连起来。databases的代码可以使用live templetes生成,我的使用的start_mysql
ORM框架;数据库配置;定义表与字段;数据库迁移和维护;
ORM框架;数据库配置;定义表与字段;数据库迁移和维护;

定义表与字段

在每个app里面,都有一个models.py的文件,里面我们可以定义我们的数据表和字段。
ORM框架;数据库配置;定义表与字段;数据库迁移和维护;
括号里面,表示我们继承了这个父类。然后这个类的名字叫做User。整个类,就是定义了表和字段。表的名字,就叫做commen_user,前面是app的名字,后面是类名去掉大写。然后在类的里面,我们定义每个字段。
ORM框架;数据库配置;定义表与字段;数据库迁移和维护;
ORM框架;数据库配置;定义表与字段;数据库迁移和维护;
ORM框架;数据库配置;定义表与字段;数据库迁移和维护;
ORM框架;数据库配置;定义表与字段;数据库迁移和维护;
MySQL中定义字段,它不能为空,需要写not null。在django中,它就直接是默认为False,不能为空。unique默认FALSE,代表可以重复。blank是表单验证范畴,比如在表单中,用户名可以为空,那么就是blank=True。至于null,还是再百度把,不是特别理解。
ORM框架;数据库配置;定义表与字段;数据库迁移和维护;

数据库迁移和维护

除了create database之外,对数据库所有的操作都由orm框架来完成。上面models.py中定义的一个类,虽然说定义了表与字段,但是它并不会在数据库中自动创建一个commen_user的数据表。
需要通过python nanage.py makemigrations,来生成一个对数据库可执行的sql语句,相当于create table。然后通过python manage.py migrate,来执行这个SQL语句。
ORM框架;数据库配置;定义表与字段;数据库迁移和维护;