• 9.17 Django ORM分组


    2018-9-17 19:53:22

    预习:http://www.cnblogs.com/liwenzhou/p/8343243.html

    新买个蓝牙挂耳耳机,感觉不错!

    放上代码  笔记什么的明天继续  视频没看完!

    最近想沉下心看书!

    越努力,越幸运.永远不要高估自己!

    # /usr/bin/env python
    # -*- coding: utf-8 -*-
    # @Time : 2018/9/17 15:23 
    # @Author : TrueNewBee
    """
    这里只涉及用法,不涉及具体数据内容
    因为数据库里面内容我没有添加
    2018-9-17 20:23:46
    """
    import os
    from app01 import models
    
    if __name__ == '__main__':
        # 加载Django项目的配置信息
        os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite67.settings")
        import django
        django.setup()
    
        ret = models.Employee.objects.all().values("id")
        print(ret)
    
        from django.db.models import Avg
        ret = models.Employee.objects.values("dept").annotate(avg=Avg("salary")).value("dept", "avg")
        print(ret)
    
        ret = models.Employee.objects.values("dept_id").annotate(avg=Avg("salary")).values("dept_name", "avg")
        print(ret)
    
        # 查询所有的员工和部门名称
        ret = models.Employee.objects.values("name", "dept_name")
        print(ret)
    
        ret = models.Employee.objects.select_related().values("name", "dept_name")
        print(ret)
        ret = models.Employee.objects.select_related().values("name", "books_title")
        print(ret)
        print("="*120)
        ret = models.Author.objects.preftch_related().values("name", "books_title")
        print(ret)
    
        # 批量创建
        # 有100个书籍对象
        obj = [models.Book(title="沙河{}".format(i)) for i in range(100)]
    
        # 在数据库中批量创建  10次一提交
        models.Book.objects.bulk_create(obj, 10)
    # /usr/bin/env python
    # -*- coding: utf-8 -*-
    # @Time : 2018/9/14 15:28 
    # @Author : TrueNewBee
    import os
    from app001 import models
    """
    2018-9-14 19:29:12
    这里只涉及用法,不涉及具体数据内容
    因为数据库里面内容我没有添加
    
    """
    
    
    if __name__ == '__main__':
        # 加载Django项目的配置信息
        os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite67.settings")
        import django
        django.setup()
    
        # 一对一的查询
        # 和外键查询类似
        author_obj = models.Author.objects.get(id=1)
        obj = author_obj.detail
        print(obj.hobby, obj.addr)
    
        # 在app01 里面查询 id是1的作者关联的书
        from app01 import models
        ret = models.Author.objects.get(id=1).books.all()
        print(ret)
        print("app01".center(80, "-"))
    
        # 在app02 里面查询 id是1的作者关联的书
        # from app02 import models
        ret = models.Author2Book.objects.filter(author_id=1).values_list("book_id")
        # id是1的作者关联的书的id
        print(ret)
        ret = [i[0] for i in ret]
        # 查书这张表
        ret = models.Book.objects.filter(id_in=ret)
        print(ret)
    
        # 在app03 里面查询id 是1的作者关联的书
        # from app03 import models
        ret = models.Author.objects.get(id=1).book.all()
        print(ret)
        # 从作者关联的书里面移除id是1的书
        # 没有django ORM封装的那些快捷方式,我们要自己亲自修改第三张表
        models.Author2Book.objects.get(author_id=1, book_id=1).delete()
  • 相关阅读:
    element-ui upload 上传图片之前压缩
    字符串截取substring放法传参不同返回不同
    vue中对于图片是否正常加载的思考
    前端图片合成并下载
    vue中图相对路径引用本地图片
    js计算精度
    vue-cli定义全局过滤器
    js加减乘除运算丢失精度 前端计算金额带小数点精度丢失问题
    鼠标样式大全
    js两小时倒计时,剩余时间倒计时,倒计时
  • 原文地址:https://www.cnblogs.com/zhen1996/p/9664652.html
Copyright © 2020-2023  润新知