65.ORM查询条件:gte,gt,lte和lt的使用

Posted guyan-2020

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了65.ORM查询条件:gte,gt,lte和lt的使用相关的知识,希望对你有一定的参考价值。

1. gte: 代表的是大于等于,英文全称为:great than equal。举例:找到文章id大于等于3等文章,示例代码如下:

定义模型的示例代码如下:
from django.db import models


class Category(models.Model):
    name = models.CharField(max_length=100)

    class Meta:
        db_table = 'category'


class Article(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    category = models.ForeignKey('Category', on_delete=models.CASCADE, null=True)

    def __str__(self):
        return "<(Article: id: %s,title: %s, content: %s)>" % (self.id, self.title, self.content)

    class Meta:
        db_table = 'article'
views.py文件中视图函数的示例代码如下:
from .models import Article, Category
from django.http import HttpResponse


def index(request):
    # gte:查找出文章id大于等于3的文章
    articles = Article.objects.filter(id__gte=3)
    print(articles)
    print(articles.query)
    return HttpResponse("success")
打印出结果:

<QuerySet [<Article: <(Article: id: 3,title: 钢铁是怎样炼成的, content: 你好)>>,
<Article: <(Article: id: 4,title: 中国吸引力, content: 精彩极了)>>]>

原生sql语句为:SELECT article.id, article.title, article.content, article.category_id FROM article WHERE article.id >= 3

2. gt:代表的是大于等于。举例查找id大于3的文章,示例代码如下:

from .models import Article, Category
from django.http import HttpResponse


def index(request):
    articles = Article.objects.filter(id__gt=3)
    print(articles)
    print(articles.query)
    return HttpResponse("success")
打印出结果:

<QuerySet [<Article: <(Article: id: 4,title: 中国吸引力, content: 精彩极了
)>>]>

原生sql语句:SELECT article.id, article.title, article.content, article.category_id FROM article WHERE article.id > 3

3.lte: 代表的是小于等于,举例查找id小于等于3的文章,示例代码如下:

from .models import Article, Category
from django.http import HttpResponse


def index(request):
    articles = Article.objects.filter(id__lte=3)
    print(articles)
    print(articles.query)
    return HttpResponse("success")
打印出结果:

<QuerySet [<Article: <(Article: id: 1,title: Hello, content: 你好)>>,
<Article: <(Article: id: 2,title: Hello World, content: 大家好)>>,
<Article: <(Article: id: 3,title: 钢铁是怎样炼成的, content: 你好)>>]>

SELECT article.id, article.title, article.content, article.category_id FROM article WHERE article.id <= 3

4.lt: 代表的是小于。举例查找id小于3的文章。示例代码如下:

from .models import Article, Category
from django.http import HttpResponse


def index(request):
    articles = Article.objects.filter(id__lt=3)
    print(articles)
    print(articles.query)
    return HttpResponse("success")
打印出结果:

<QuerySet [<Article: <(Article: id: 1,title: Hello, content: 你好)>>, <Article: <(Article: id: 2,title: Hello World, content: 大家好)>>]>
SELECT article.id, article.title, article.content, article.category_id FROM article WHERE article.id < 3

以上是关于65.ORM查询条件:gte,gt,lte和lt的使用的主要内容,如果未能解决你的问题,请参考以下文章

[转]mongodb 查询条件:关系运算符"$lt", "$lte", "$gt", "$gte", "$ne

065:ORM查询条件详解-gtgtelt和lte

MongoDB $关键字 关系比较符号 $lt $lte $gt $gte $ne

MongoDB学习记录

mongodb 查询条件

mongdb查询操作