Django中的F对象和Q对象

在这里插入图片描述

F对象

  • 可以获取到自己的属性值
  • 实现自己的属性自己的属性关联的复杂条件
  • 支持运算

Q对象

  • Q对象实际上是对条件的一个封装
  • 封装后支持逻辑运算
  • 与或非
    • &
    • |
    • ~
  • 支持嵌套

例子

from django.db.models import Max, Avg, F, Q
from django.http import HttpResponse
from django.shortcuts import renderfrom App.models import Jor, Grade, Newsdef get_jors(request):# jors = Jor.objects.filter(news__n_content__contains="NBA").distinct("j_name")# 想要实现去重jors = Jor.objects.filter(news__n_content__contains="NBA")# jors 四个对象  两个1  两个3jor_list = list()for jor in jors:# print(id(jor))if jor not in jor_list:jor_list.append(jor)return render(request, "JorList.html", context=locals())def get_age(request):result = Jor.objects.aggregate(Avg("j_age"))print(result)return HttpResponse("获取最大年龄成功")def get_grade(request):# grades = Grade.objects.filter(g_girl_num__gt=F("g_boy_num") + 25)# grades = Grade.objects.filter(g_girl_num__gt=1).filter(g_girl_num__lt=20)# grades = Grade.objects.filter(Q(g_girl_num__gt=1) & Q(g_girl_num__lt=20))# grades = Grade.objects.filter(g_girl_num__lt=1).filter(g_girl_num__gt=20)# grades = Grade.objects.exclude(g_girl_num__gte=1).exclude(g_girl_num__lte=20)grades = Grade.objects.filter(Q(g_girl_num__lt=1) | Q(g_girl_num__gt=20))return render(request, "GradeList.html", context=locals())```

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/456281.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Django模型关系

模型关系 1:1 一对一 (一个身份证对应一个驾照) 是使用外键唯一约束实现的对应最多只能有一个我们通常会在从表中声明关系 主表,从表 主表数据删除,从表数据级联删除从表数据删除,主表不受影响谁声明关系&#xff0c…

Android常用开源项目

Android常用开源项目 Android 2014-05-23 16:39:43 发布您的评价: 4.3 收藏 24收藏Android开源项目第一篇——个性化控件(View)篇包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar、TextView、其他Android开源项目第二篇——工具库…

git push/pull时总需要输入用户名密码的解决方案

在提交项目代码或者拉代码的时候,git会让你输入用户名密码,解决方案:(我们公司用的是gitlab)执行git config --global credential.helper store命令然后git push origin your-branch会让你输入用户名和密码&#xff0c…

开源商务智能软件Pentaho

1 简介Pentaho是世界上最流行的开源商务智能软件,以工作流为核心的,强调面向解决方案而非工具组件的,基于java平台的商业智能(Business Intelligence,BI)套件BI,之所以说是套件是因为它包括一个web server平台和几个工具软件:报表…

Python - Django - 中间件 process_exception

process_exception(self, request, exception) 函数有两个参数,exception 是视图函数异常产生的 Exception 对象 process_exception 函数的执行顺序是按照 settings.py 中设置的中间件的顺序的倒序执行 process_exception 函数只在视图函数中出现异常的时候才执行…

NTV Media Server G3性能测试

Hello!大家好,我是资深测试工程师Jackie,今天我来和大家一起对云视睿博的高性能流媒体服务器NTV Media Server G3做一次性能测试。今天测试有一个小目标,那就是验证在一台普通的PC机上,NTV Media Server G3的并发能力是…

在windows下安装Redis

一、下载windows版本的Redis 由于官网上没有windows版的下载地址,所以需要下载windows版本的Redis有以下两个地址: 博主的csdn资源地址:http://download.csdn.net/detail/u010608551/9778240 github下载地址:https://github.com/M…

Django REST framework【学习内容】

快速入门 我们将创建一个简单的允许管理员用户查看和编辑系统中的用户和组的API。 项目设置 创建一个名为 tutorial 的新django项目,然后启动一个名为 quickstart 的新app。 # 创建项目目录 mkdir tutorial cd tutorial# 创建一个virtualenv来隔离我们本地的包依…

Flask-DebugToolbar的配置

该扩展为 Flask 应用程序添加了一个包含有用的调试信息的工具栏。 安装 简单地使用 pip 来安装: $ pip install flask-debugtoolbar用法 设置调试工具栏是简单的: from flask import Flask from flask_debugtoolbar import DebugToolbarExtensionapp Flask(__name__)# the…

MVC 中Simditor上传本地图片

1.引用样式和js文件 <link href"~/Content/scripts/plugins/simditor/css/simditor.css" rel"stylesheet" /><script src"~/Content/scripts/plugins/simditor/js/simditor.js"></script> 2.初始化Simditor var editor null;…

在pycharm中自定义模板代码,快速输出固定代码块

pycharm中有时会经常输出固定一段代码,为避免每次重复输入,可以自定义一段模板代码,请看以下图教程: 1. 点击 file 里面的 setting 2. 在搜索框输入live,就会显示出Live Templates, 点击后边的加号, 点击 Live Template 3. 选择设置的语言, 点击下图的Define, 设置要设置…

优质手机APP开发公司的特点

最近自媒体平台封号特严重&#xff0c;获得上亿投资的大号都被封了&#xff0c;或许做自己的APP会是一个好选择。想在众多的app中脱颖而出、希望手机APP获得成功&#xff0c;则必须聘请专业手机APP开发公司。您必须明智地选择公司&#xff0c;因为您的业务的成败取决于您的选择…

celery 学习笔记定时任务和异步任务

1、Celery加入异步和定时任务 Celery除了可以异步执行任务之外&#xff0c;还可以定时执行任务。在实例代码的基础上写个测试方法&#xff1a; import datetime import timefrom celery import shared_task from celery.schedules import crontab from celery.task import pe…

使用WinIO库实现保护模式下的IO和内存读写

问题已解决&#xff1a; 原因是函数的调用方式与WinIO中不一致&#xff0c;使用的时候漏掉了__stdcall。 函数原定义为&#xff1a; 在实际的GPIO读写中遇到以下问题&#xff1a; SetPortVal可正常写入&#xff0c;但是GetPortVal无法读取&#xff0c;程序崩溃&#xff0c;问题…

windows10中远程访问凭据不工作

远程同学电脑&#xff0c;发现输入账号密码还是不行&#xff0c;提示您的凭据不工作&#xff0c;问题解决&#xff1a;WinR---gpedit.msc网络访问----经典。转载于:https://blog.51cto.com/germa66/1934745

pycharm的 crtl + r 使用正则表达式进行 request-header格式更改

pycharm的 crtl r 使用正则表达式进行 request-header格式更改 复制粘贴之前 使用 ‘’‘ ’‘’ 保证格式不乱 改为正确格式

初识MVC

好多次听见别人说MVC&#xff0c;那么MVC到底是什么呢&#xff1f;今天来一探到底&#xff0c;揭开其神奇面纱。。 MVC介绍&#xff1a; MVC全名Model View Controller&#xff0c;是模型&#xff08;Model&#xff09;-视图&#xff08;View&#xff09;-控制器&#xff08;Co…

【Python + Selenium】之JS定位总结

1、滚动条 driver.set_window_size(500,500) js "window.scrollTo(0,200)" #左&#xff1a;距左边横滚、右&#xff1a;距上边竖滚 driver.execute_script(js) 2、获取元素的值 button driver.find_element_by_css_selector("#su") #定位按钮 input…

BigDecimal类整除报错的解决方案

例如&#xff1a; BigDecimal num1 new BigDecimal("10"); BigDecimal num2 new BigDecimal("3"); BigDecimal num3 num1.divide(num2); 其实devide的函数定义如下 BigDecimal.divide(BigDecimal divisor, int scale, RoundingMode roundingMode) ;…

【spider】多线程爬虫

多线程工作原理 多线程示意图 Queue&#xff08;队列对象&#xff09; queue是python中的标准库&#xff0c;可以直接from queue import Queue引用;队列是线程间最常用的交换数据的形式 python下多线程的思考 对于资源&#xff0c;加锁是个重要的环节。Queue&#xff0c;是线…