Python--day70--ORM查询练习

ORM查询练习:

import os
import sys

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

    django.setup()
    from app01 import models

    #查找所有书名里包含沙河的书
    ret = models.Book.objects.filter(title__contains="沙河")
    print(ret)
    #查找所有出版日期是2018年的书
    ret = models.Book.objects.filter(publisher_date__year = 2018)
    print(ret)
    #查找价格大于10元的书
    ret = models.Book.objects.filter(price_gt =10)
    print(ret)
    #找到载沙河的出版社
    ret = models.Publisher.objects.filter(city="沙河")
    print(ret)

    #distinct
    #查询所有书关联的出版社
    ret = models.Book.objects.all().value_list("publisher_name")
    print(ret)
    print(ret.distinct())#对Queryset去重

    #将所有的书的价格倒叙排序
    ret = models.Book.objects.all().orde_by("price").reverse()
    print(ret)
    #支持符号表示倒叙
    ret = models.Book.objects.all().orde_by("-price")
    print(ret)

    #查询书名是沙河异闻录得书的出版社的city
    ret = models.Book.objects.filter(title="沙河异闻录").values("publisher__city")
    print(ret)

    #查询书名是沙河异闻录得书的作者的爱好(跨两张表)
    ret = models.Book.objects.filter(title="沙河异闻录").values("authors__detail__hobby")
    print(ret)

猜你喜欢

转载自www.cnblogs.com/xudj/p/10582835.html
今日推荐