django框架百度百科,django框架设计模式

django框架百度百科,django框架设计模式,Django框架模型简单介绍与使用分析

本文主要介绍Django框架模型的简单介绍和使用,并结合实例分析Django框架模型的概念、原理、使用技巧和相关操作注意事项。有需要的可以参考一下。

本文结合实例介绍了Django框架模型的简单介绍和使用。分享给你,供你参考,如下:

ORM介绍

Orm关系映射对象关系映射

面向对象中的类与数据库表一一对应。通过操作类和对象,可以对数据库表进行添加、删除、检查等操作。不用写SQL语句(orm框架生成)。

Django是实现ORM的框架,在Django项目和数据库之间起到桥梁作用。

使用ORM可以通过方便的配置在不同的数据库之间切换。

使用django开发数据库的步骤如下:

在models.py中定义模型类

生成迁移文件:python manage.py makemigrations

执行迁移生成数据库表(默认为sqlite3数据库,生成的数据库名为db . sqlite3):python manage . py migrate。

通过模型类和对象,可以添加、删除和检查数据。

模型类设计

案例:

班级(部门):

部门名称:名称

部门成立时间:创建日期

类别(员工)

名称:姓名

年龄:年龄

性别:性

薪水:薪水

备注:注释

说明:

在application models.py中编写模型类,

必须继承与models.Model类

在模型类中,定义属性并生成相应的数据库表字段:

属性=模型。字段类型(字段选项)

类型(为了初步理解,模型包下的类):

字符域字符串

整形外科

BooleanField -布尔型

日期存档日期

十进制浮点

ForeignKey -外键,建立一对多关系。

不需要定义主键id,它会自动生成。

模型类生成表

根据模型类,生成迁移文件。

python manage.py进行迁移

执行迁移文件以生成数据库表。

python manage.py迁移

生成表名的默认格式:

应用程序名称_模型类名小写

使用sqliteman查看生成的数据库表。

安装sqliteman

sudo apt-get安装sqliteman

启动sqliteman

sqliteman

启动后,通过file-open打开项目下的db.sqlite3数据库。

通过ORM操作数据库

Django实现orm功能。在Django项目中,可以直接通过模型类和对象操作数据库数据,而不需要编写sql语句。

您可以进入python交互式环境,通过以下命令执行代码来操作数据库:

python manage.py shell

增删改

您可以通过调用模型类对象的save方法来添加或修改数据。如果id值在数据库表中不存在或为空,则将被添加,否则将被修改。

模型类对象。save() #被添加或修改

调用模型类对象的delete方法删除数据,数据会根据id删除。

模型类对象。delete() #根据对象的id删除。

示例:

来自app01.models导入部门,员工

从日期时间导入日期

d=部门()

D.name= R&D部门

d.create_date=date(2017,1,1)

D.save() # new

人事部

D.save() #修改

直径=10

D.save() # new

D.name= R&D部门

d.id=无

D.save() # new

d.id=无

D.save() # new

D.delete() #删除

模型管理器

每个模型类默认有

objects

类属性,可称为

模型管理器

。由django自动生成,类型为django . db . models . manager . manager。

员工.对象

django . db . models . manager . manager对象位于0x7fcfcdf67550

对象管理器中提供了一些查询数据的方法:

对象管理器中的方法

返回类型

功能

班级。objects.get()

模型对象

返回一个对象,并且只能有一个:

如果发现多条数据,将会报告一个错误:MultipleObjectsReturned。

如果找不到数据,将会报告一个错误:DoesNotExist。

班级。objects.filter()

查询集

返回满足条件的对象。

班级。objects.all()

查询集

所有返回的对象

关联查询

与部门员工存在一对多关系,

怎么根据部门查员工,或根据员工查询部门呢?

用法:

假设在一对多的关系中,对应的类称为类,多对应的类称为多类:

由一类对象查询多类对象:

一班。多类lowercase _set.all()

由多类对象查询一类对象:

多类对象。关联属性

示例:

#查询部门id为1的所有员工

d=Department.objects.get(id=1)

D.employee_set.all() #再多一个检查

#查询id为1的员工的部门信息。

e=Employee.objects.get(id=1)

e部门#多查一个。

希望本文对基于Django框架的Python编程有所帮助。

django框架百度百科,django框架设计模式