Django 之 ORM 单表查询方法使用
admin
2023-07-08 17:44:27
0次

一、在Django项目上运行python文件查询数据库

import os

if __name__ == '__main__':
    #加载Django项目的配置信息
    os.environ.setdefault("DJANGO_SETTINGS_MODULE","testinclude.settings")
    #导入Django,并启动Django项目
    import django
    django.setup()

    from ormtest import models

    #查询所有作者
    all_author = models.Author.objects.all()
    print(all_author)

    #get查询某个人,当值不存在时会报错
    person = models.Author.objects.get(id=7)
    print(person)

    print("filter".center(60,"*"))
    #filter返回数据为一个列表,当值不存在时,不会报错,返回一个空的列表
    person = models.Author.objects.filter(id=7)
    print(person)
    print(person[0])

    #exclude 返回id不等于1的所有值,排队法
    print("exclude".center(60,"*"))
    person = models.Author.objects.exclude(id=1)
    print(person)

    print("values返回值".center(60,"*"))
    person = models.Author.objects.values()
    print(person)

    print("orderby按照指定的字段排序")
    person = models.Author.objects.all().order_by("id")
    print(person)

    print("count统计匹配的数量".center(60,"*"))
    count = models.Author.objects.all().count()
    print(count)

    print("first返回第一行数据".center(60,"*"))
    person = models.Author.objects.all().first()
    print(person)

    print("last返回最后一行数据".center(60, "*"))
    person = models.Author.objects.all().last()
    print(person)

    print("查询id大于4,小于6的值".center(50,"*"))
    person = models.Author.objects.filter(id__gt=5,id__lt=7)
    print(person)

    print("in查询包括列表中的数或not_in".center(50,"*"))
    person = models.Author.objects.filter(id__in=[3,5,7])
    print(person)

    print("contains包含某些值".center(50,"*"))
    person = models.Author.objects.filter(name__contains="周")
    print(person)

    print("range相当于sql语句中的between and 5<7".center(50,"*"))
    person = models.Author.objects.filter(id__range=[5,7])
    print(person)

程序执行结果:

, , , , ]>
author_name:小光
***************************filter***************************
]>
author_name:小光
**************************exclude***************************
, , , , ]>
*************************values返回值**************************

orderby按照指定的字段排序
, , , , ]>
************************count统计匹配的数量************************
5
************************first返回第一行数据************************
author_name:小白
************************last返回最后一行数据************************
author_name:小光
******************查询id大于4,小于6的值*******************
]>
****************in查询包括列表中的数或not_in****************
, , ]>
******************contains包含某些值*******************
]>
**********range相当于sql语句中的between and 5<7**********
, , ]>

models.py文件代码

from django.db import models

# Create your models here.

class Publisher(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=64,null=False,unique=True)

    def __str__(self):
        return "publisher_name:{}".format(self.name)

class Book(models.Model):
    id = models.AutoField(primary_key=True)
    title = models.CharField(max_length=128,null=False)
    publisher = models.ForeignKey(to=Publisher)

    def __str__(self):
        return "book_title:{}".format(self.title)

class Author(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=16,null=False)
    book = models.ManyToManyField(to="Book")

    def __str__(self):
        return "author_name:{}".format(self.name)

Django 之  ORM 单表查询方法使用

Django 之  ORM 单表查询方法使用

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...