一、get函数(仅能返回一条数据)。

book = BookInfo.objects .get(id__exact = 1) # 可以且仅可以返回一条数据。 没有数据或返回多条数据都会抛异常。

book = BookInfo.objects .get(id = 1) # 简写形式。  __exact可以省略。返回模型对象

二、all函数 (查询所有)

books = BookInfo.objects .all() # 查询所有。 返回QuerySet查询集(可以遍历)

三、filter函数 (条件查询)

# 条件查询。(可以通过逗号,连接多个条件)  返回QuerySet查询集(可以遍历)

books = BookInfo.objects.filter(title __exact = '天龙八部')  # __exact 等于。 __exact 可以省略。 ( __iexact 不区分大小写)

books = BookInfo.objects.filter(title __contains = '天')  # __contains 包含。模糊查询。 (__icontains 不区分大小写)

books = BookInfo.objects.filter(title __endswith = '部')  # __endswith 以..结尾。 __startswith 以..开头。 (__iendswith 不区分大小写)

books = BookInfo.objects.filter(title __isnull = False)  # __isnull 是否为空。 True:表示为null。 False表示not null。

books = BookInfo.objects.filter(id __in = [1,3,5])  # __in 范围查询。

books = BookInfo.objects.filter(id __gt = 3)  # __gt 大于。 __lt 小于。 __gte 大于等于。 __lte 小于等于。

books = BookInfo.objects.filter(pub_date__gt = date(1980,1,1) )  # 日期查询。

books = BookInfo.objects.filter(pub_date __year = 1980)   # 日期查询。(year、month、day、week_day、hour、minute、second)

四、exclude函数 (filter函数取反)

# 查询id不为3的所有图书。

books = BookInfo.objects .exclude(id = 3) # 与filter函数作用相反。 返回QuerySet查询集(可以遍历)

五、order_by函数 (排序)

# 对查询结果进行排序。 返回QuerySet查询集(可以遍历)

books = BookInfo.objects .all().order_by('-id') # 'id'表示升序; '-id'表示降序。

books = BookInfo.objects.order_by('-id')    #  .all()可以省略。 默认查询所有。 可以结合filter等函数一起使用 。

条件格式:  模型类属性名__条件名 = 值   # 所以定义模型类属性名时不能使用多个下划线。例如:id__exact = 1 。 一、get函数(仅能返回一条数据)。book = BookInfo.objects.get(id__exact = 1)   # 可以且仅可以返回一条数据。 没有数据或返回多条数据都会抛异常。book = BookInfo.objects.get... request.path 除域名以外的请求路径,斜杠开头 “/hello/” request.get_host() 主机名 关系型数据天然是表格式的,因此存储在数据表的行和列中。数据表可以彼此关联协作存储 非关系型数据是大块组合在一起。通常存储在数据集中,就像文档、键值对或者图结构。 你的数据及其特性是选择数据存储和提取方式的首要影响因素。 扩展方式不同 SQL数据库是纵向扩展,关系型数据支持更多并发量,纵向扩展提高处理
django excl ude filter 比如我先要过滤相等的,同时要把过滤的结果 再过滤不相等的。 我知道可以过滤一次再用for循环判断,但我想知道有没有更快捷的方法。 Python Django 模型 查询数据库 。get()、all()、 filter ()、 excl ude ()、 order _by() 一、get函数(仅能返回一条数据)。 book =BookInfo.objec...
1.all()返回的是QuerySet对象(字典列表),程序并没有真的在数据库中执行SQL语句查询数据,但支持迭代,使用for循环可以获取数据。 2. filter () 返回的是QuerySet对象(字典),与all()相似,只是all()是查询所有数据,常用: filter 表示‘ = ’, excl ude 表示’ != ’。 3.get()返回的是Model对象,类型为列表,说明使用get方法会直接执行sql语句获取数据。 通过type(),查看它们的类型 通过get()查询,返回的结果为 模型 类对象,使用get方
filter , filter _by, order _by,group_by,having,union_all,union,distinct,limit,offset # filter : 过滤; 语法:session.query(MyClass). filter (MyClass.name == 'some name') result0 = db.session.query(Protocols....
views.py: def adminEchartIncome(request): ret = models.incomeAccount.objects.all(). order _by("dayIncome"," id ") # ret = serialize("json",ret) # print(ret) json_list = [] for i in ..
django _ filter 可以通过定义 Filter Set来实现关联表模糊查询。首先需要在 Filter Set中定义关联表的字段,然后使用lookup_expr参数指定查询方式为icontains,即模糊查询。例如: ``` python from django _ filter s import Filter Set, Char Filter from myapp.models import Book, Author class Book Filter ( Filter Set): author_name = Char Filter (field_name='author__name', lookup_expr='icontains') class Meta: model = Book fields = ['title', 'author_name'] 在上面的例子中,我们定义了一个Book Filter ,其中author_name是一个Char Filter ,它的field_name指定了关联表Author的name字段,lookup_expr指定了查询方式为icontains。这样,我们就可以通过Book Filter 来实现对Book 模型 关联的Author 模型 的name字段进行模糊查询了。