咨询电话:
15628812133
19
2023/06

Django框架使用ORM查询附表中的数据一对一、一对多、多对多

发布时间:2023-06-19 08:48:00
发布者:已经写了
浏览量:
0

ORM通常用于管理数据库中的对象,包括创建、读取、更新和删除操作。它提供了一种将Python对象映射到关系数据库的方法,在使用PythonDjango框架进行web开发的时候,会有很多数据库方面的写入,查询等操作,在操作数据库的时候,我们可以通过编辑SQL语句进行查询数据库,也可以使用Django ORM(Object-Relational Mapping,对象关系映射)来进行数据库操作,Django ORM 是一个使用 Python 语言编写的库,可以使得开发者通过面向对象的方式操作关系型数据库。

那么如何直通过外键进行附表的查询,我们直接看代码,这里是两个表的model格式

image.png

我们把常用的数据,放在WangxinLssuance表中,把数据内容比较多的内容字段,放在附表中,这样在查询的时候可以提高查询的效率,我们直接查询主表的话,可以看到,其中的center_uid、receive_uid都是关联的Users表、用于获取用户的信息,WangxinLssuanceData表中的lssuance用于关联主表WangxinLssuance中的信息,可以是一对一,也可以是一对多

那么如何查询附表中的数据,实现一对多查询呢

image.png

我们直接在查询后面增加_set,就可以来进行附表的筛选查询等操作了

核心代码:

lssuance = WangxinLssuance.objects.get(id=params['id'])先获取主表信息

然后通过小写的表名加上_set方式来操作附表

lssuance.wangxinlssuancedata_set.get().content

这样的筛选用于筛选附表条件,可以用filter方法进行条件筛选

关键词:
返回列表