django对数据库查询基本方法

时间:2024-04-07 20:16:10

django对数据库进行条件查询的时候通常格式是  字段名+两个下划线+查询方法

这些查询方法 get和filter都可以使用。但是要注意get每次返回的值是唯一的否则报错。

all:

返回全部数据,返回的是queryset对象,

django对数据库查询基本方法

lt:

返回小于设定的目标值的queryset:

django对数据库查询基本方法

lte:

返回小于等于目标值的queryset:

django对数据库查询基本方法

gt:

返回大于目标值的queryset:

django对数据库查询基本方法

gte:

返回大于等于目标值的queryset:

django对数据库查询基本方法

contains:

返回‘包含’该字符内容的数据的queryset,并且区分大小写:

django对数据库查询基本方法

icontains:

返回包含该字符的queryset,这个是不区分大小写。(使用sqlite3数据库的时候这两个方法一模一样,没区别)

基本所有的筛选方法都是有i不区分大小写,没有i区分

exact:

返回精确匹配该值的queryset,contains是包含,这个是等于的关系,同时区分大小写;

iexact:

不区分大小写,这个跟contains加不加i正好相反

 

django对数据库查询基本方法

startswith:

起始匹配,区分大小写,+i不区分

endswith:

末尾匹配,区分大小写+i不区分

同时他们两个也可以混合使用:

django对数据库查询基本方法

in:

可以同时查找多个复合条件的数据,并返回queryset,相当于批量的精确查找:

django对数据库查询基本方法

range:

去范围内的值(两边都是闭合状态,两侧都包含)只要是包含这个范围内的值都会返回:

django对数据库查询基本方法

 

 

isnull:

返回时空值的数据True为空,False非空:

django对数据库查询基本方法

Q:

多条件联合查询,使用前需要from django.db.models improt Q导入模块

django对数据库查询基本方法

使用Q()传入相应的条件,然后把Q传入查询的函数中,可以传入多个Q,然后进行查询,q1,q2中间是逗号的时候是取交集,丨 为并集。