博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django 之 ORM 单表查询方法使用
阅读量:6213 次
发布时间:2019-06-21

本文共 3302 字,大约阅读时间需要 11 分钟。

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

import osif __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 单表查询方法使用

转载于:https://blog.51cto.com/12965094/2393679

你可能感兴趣的文章
量子通信和大数据最有市场突破前景
查看>>
StringBuilder用法小结
查看>>
对‘初学者应该选择哪种编程语言’的回答——计算机达人成长之路(38)
查看>>
如何申请开通微信多客服功能
查看>>
Sr_C++_Engineer_(LBS_Engine@Global Map Dept.)
查看>>
非监督学习算法:异常检测
查看>>
《OSPF和IS-IS详解》一2.7 BGP-IGP的路由交换
查看>>
App开发中甲乙方冲突会闹出啥后果?H5 APP 开发可以改变现状吗
查看>>
python知识点总结---函数
查看>>
centos7 mysql数据库的安装与使用
查看>>
jquery的checkbox,radio,select等方法总结
查看>>
Linux coredump
查看>>
iphone开发实现单选框
查看>>
keymaster -快捷键管理器
查看>>
Ubuntu 10.04安装水晶(Mercury)无线网卡驱动
查看>>
Apache服务器SSL双向认证配置
查看>>
论数据库访问组件的选择--火地晋大作读后感
查看>>
php socket服务端和OC客户端(简单的测试)
查看>>
算法:基于 RingBuffer 的 Deque 实现
查看>>
Unity 物理引擎动力学关节
查看>>