Django – query not equal

The simpliest way to retrieve data from tables is take them all. To do this,  you can write:


1

all_entries = Entry.objects.all()

But, usually, you have to select a subset of data. To reach this goal, you can filter the QuerySet with some conditions. The fastest way is yo use the .filter() method, giving as parameter our filterting conditions. For example:


1

Entry.objects.filter(date = 2006)

And.. how we can make a not equal filtering condtion?
Changing ‘=’ with ‘!=’ or ‘<>’,  will return error messages. And now? The solution is simple.
First of all, import in out file the library for the Q object:


1

from django.db.models import Q

Then, we can include our condition in a Q object. To make this a not equal query, write ‘~’ just before the Q object.


1

Entry.objects.filter(~Q(date = 2006))

In this case, the code will return all entries with date field different from 2006.

时间: 2024-10-18 05:12:52

Django – query not equal的相关文章

动态生成lambda表达式

//1.0 获取我的申请单 int uid = UserMgr.GetCurrentLoginUser().uID; //2.0 获取参数 string kname = f["kname"]; string status = f["status"]; //第一个条件: var query= c => c.fCreatorID == uid //定义出一个c的参数,它的类型为wfReqeustForm var ps = Expression.Parameter(

EntitySpace 常用语句

EntitySpace 这个是很早期的ORM框架,最近发现这个破解的也都不能用了.有谁知道能用的,联系我. 1. where带几个条件的 query.Where(query.ProductTempStatus.Equal((int)tempStatus) | query.ProductStatus.Equal((int)status)); query.Where(query.ProductTempStatus.Equal((int)tempStatus) && query.ProductS

2014/08/06 – Backbonejs

[来自:Backbone.js 开发秘笈 第3章] Collection API (function ($) { //define ----------------------------- var ModelD = Backbone.Model.extend({ defaults: { ID: 0, Name: '' }, idAttribute: 'ID' }); //定义集合对象 /* 在其内部,模型被存储在一个名为 models 的数组当中 */ var CollectionD = Ba

Python与数据库[2] -&gt; 关系对象映射/ORM -&gt; sqlalchemy 的基本使用示例

sqlalchemy 的基本使用示例 下面的例子中将利用sqlalchemy进行数据库的连接,通过orm方式利用类实例属性操作的方式对数据库进行相应操作,同时应用一些常用的函数. 完整代码如下: 1 from sqlalchemy import create_engine, exc, orm 2 from sqlalchemy.ext.declarative import declarative_base 3 from sqlalchemy.sql.schema import Table, Fo

Django数据库

数据库 ORM框架 O是object,也就类对象的意思,R是relation,翻译成中文是关系,也就是关系数据库中数据表的意思,M是mapping,是映射的意思.在ORM框架中,它帮我们把类和数据表进行了一个映射,可以让我们通过类和类对象就能操作它所对应的表格中的数据.ORM框架还有一个功能,它可以根据我们设计的类自动帮我们生成数据库中的表格,省去了我们自己建表的过程. django中内嵌了ORM框架,不需要直接面向数据库编程,而是定义模型类,通过模型类和对象完成数据表的增删改查操作. 使用dj

django指定mysql数据库 ORM查询

django原生自带数据库,不过自带的数据库是sqlite 这次使用的orm框架操作数据库 这时候你就需要换上你想用的数据库比如大众化的mysql 但是你还是首先要先安装pymysql的驱动 pip install PyMySQL 在Django的工程同名子目录的__init__.py文件中添加如下语句 from pymysql import install_as_MySQLdb install_as_MySQLdb()django 在python2.7一直使用的是db操作数据库由于django

Django 模型的基础查询

基础条件查询 1 基本查询 get查询单一结果,如果不存在会抛出模型类.DoesNotExist异常. all查询多个结果. count查询结果数量. >>> BookInfo.objects.get(id=1) <BookInfo: 射雕英雄传> >>> BookInfo.objects.get(pk=2) <BookInfo: 天龙八部> >>> BookInfo.objects.get(pk=20) Traceback (

django模型系统二

常用查询及表关系的实现 1.常用查询 每一个django模型类,都有一个默认的管理器 objects QuerySet表示数据库中对象的列表,它可以有0到多个过滤器.过滤器通过给定参数,缩小查询范围. QuerySet等同于select语句,过滤器是一个限制子句,比如where,limit. all() 获取所有 Student.objects.all() #返回的是queryset 获取第一条 Student.objects.first() #返回的是对象 获取最后一条 Student.obj

django框架的模型类定义及操作

在settings.py中保存了数据库的连接配置信息,Django默认初始配置使用sqlite数据库. 使用MySQL数据库首先需要安装驱动程序 pip install PyMySQL 在Django的工程同名子目录的__init__.py文件中添加如下语句 from pymysql import install_as_MySQLdb install_as_MySQLdb() 作用是让Django的ORM能以mysqldb的方式来调用PyMySQL. 修改DATABASES配置信息 DATABA