Django 之 ORM 查询使有

一、在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)

程序执行结果:

<QuerySet [<Author: author_name:小白>, <Author: author_name:小周>, <Author: author_name:小红>, <Author: author_name:小绿>, <Author: author_name:小光>]>
author_name:小光
***************************filter***************************
<QuerySet [<Author: author_name:小光>]>
author_name:小光
**************************exclude***************************
<QuerySet [<Author: author_name:小白>, <Author: author_name:小周>, <Author: author_name:小红>, <Author: author_name:小绿>, <Author: author_name:小光>]>
*************************values返回值**************************
<QuerySet [{'id': 3, 'name': '小白'}, {'id': 4, 'name': '小周'}, {'id': 5, 'name': '小红'}, {'id': 6, 'name': '小绿'}, {'id': 7, 'name': '小光'}]>
orderby按照指定的字段排序
<QuerySet [<Author: author_name:小白>, <Author: author_name:小周>, <Author: author_name:小红>, <Author: author_name:小绿>, <Author: author_name:小光>]>
************************count统计匹配的数量************************
5
************************first返回第一行数据************************
author_name:小白
************************last返回最后一行数据************************
author_name:小光

Django 之  ORM 查询使有

猜你喜欢

转载自blog.51cto.com/12965094/2393679
今日推荐