zoukankan      html  css  js  c++  java
  • 上周回顾

    聚合查询

    关键字: aggregate

    from django.db.models import Max,Min,Count,Sum,Avg
    

    分组查询

    关键字:annotate

    最简单的规律:models后面电视猫,就按什么分组

    F与Q查询

    from django.db.modles import F,Q
    F  能够帮助你获取到表中字段所对应的数据
    # 书籍的库存数与卖出数
    models.Book.objects.filter(kucun__gt=F('maichu'))
    
    因为filter过滤的条件的都是and连接 
    modesls.Book.objects.filter(Q(title='python'),Q(price=666))
    modesls.Book.objects.filter(Q(title='python')|Q(price=666))
    modesls.Book.objects.filter(~Q(title='python')|Q(price=666))
    
    # Q进阶用法
    q = Q()
    q.connector = 'or'
    q.children.append(('title','python'))
    q.children.append(('title__icontains','python'))
    q.children.append(('price',666))
    models.Book.objects.filter(q)  # 默认还是and关系  
    

    django中如何开启事务

    from django.db import transaction
    try:
        with transaction.atomic():
         	#事务操作
    except BaseException as e:
        print(e)
    

    常见字段及参数

    AutoField()
    DateField()
    DateTimeField()
        auto_now
        auto_now_add
    TextField()
    EmailField()          varchar(...)
    BooleanField()        传布尔值  存0/1
    

    自定义char字段

    class MyCharField(models.Field):
                
            def db_type(self,connection):
                return 'char(%s)'%self.max_length
    

    orm查询优化

     only
     defer
     orm内所有的语句操作 都是惰性查询:只会在你真正需要数据的时候才会走数据库,如果你单单只写orm语句时不会走数据库的               
     select_related:会将括号内外键字段所关联的那张表 直接全部拿过来(可以一次性拿多张表)跟当前表拼接操作
     prefetch_related:不主动连表而是将book表中的publish全部拿出来 在取publish表中将id对应的所有的数据取出
            
    
  • 相关阅读:
    防止vue文件中的样式出现‘污染’情况(html5 scoped特性)
    Vue.js中滚动条加载更多数据
    本地上传文件至服务器的技巧(linux文件压缩及解压文件)
    ubuntu下apache新建虚拟主机
    laravel5.4+vue+element简单搭建(gulp+laravel Elixir)
    java基础---->Java的格式化输出
    markdown 基本语法(转载)
    谷歌断点调试
    mac 远程连接 云服务器
    棋盘覆盖问题
  • 原文地址:https://www.cnblogs.com/aden668/p/11753145.html
Copyright © 2011-2022 走看看