_姜2

作者: dittoyy3991 | 来源:发表于2018-06-15 17:08 被阅读11次

= = =

@sql-models

***新建
get_or_create(defaults=None, **kwargs)#不存在就新建
update_or_create(defaults=None, **kwargs)#不存在就新建
bulk_create(objs, batch_size=None)#一次插入多个

汇总聚合aggregate(args, *kwargs)
返回汇总值的字典(平均值,总和等)
q = Blog.objects.aggregate(Count('entry'))
{'entry__count': 16}
使用关键字参数来修改聚合函数名
q = Blog.objects.aggregate(number_of_entries=Count('entry'))
{'number_of_entries': 16}

exists()判断存在返回true/false
some_queryset.exists()

update(**kwargs)对指定的字段执行批量更新操作,并返回匹配的行数
Entry.objects.filter(id=64).update(comments_on=True)

delete()返回删掉的数组
blogs.delete()
(5, {'weblog.Blog': 1, 'weblog.Entry': 2, 'weblog.Entry_authors': 2})

保存一个外键字段得save()
entry = Entry.objects.get(pk=1)
cheese_blog = Blog.objects.get(name="Cheddar Talk")
entry.blog = cheese_blog
entry.save()#保存对象

多对多字段add()无需save()可一次多个
joe = Author.objects.create(name="Joe", tagline='Alews.')#创建对象
entry.authors.add(joe)
entry.authors.add(john, paul, george, ringo)

***selsect查询
使用all()方法获取某表所有记录
all_entries = Entry.objects.all()

***单一检索filter()、exclude()和get()
one_entry = Entry.objects.get(pk=1)
过滤可以多个可以链式,得到的是独立的子数据QuerySets
filter(**kwargs):返回一个根据指定参数查询出来的QuerySet
exclude(**kwargs):返回除了根据指定参数查询出来结果的QuerySet
Entry.objects.filter(headline__startswith="What").exclude(pub_date__gte=datetime.date.today()).exclude(body_text__icontains="food")

切片限制相当于SQL语句中的LIMIT和OFFSET
Entry.objects.all()[5:10]    # 返回第6个到第10个对象
不支持负索引!例如 Entry.objects.all()[-1]是不允许的

iexact不区分大小写
Blog.objects.get(name__iexact="beatles blog")
contains包含但大小写敏感
Entry.objects.get(headline__contains='Lennon')
SELECT ... WHERE headline LIKE '%Lennon%';
lt/gt小于大于 lte/gte小于等于大于等于
Entry.objects.get(headline__lt='89')
istartswith和iendswith
是不区分大小写的模式
startswith和endswith
以什么开头和以什么结尾
in 在之内匹配
Entry.objects.filter(id__in=[1, 3, 4])
range 在range之内
end_date = datetime.date(2005, 3, 31)
Entry.objects.filter(pub_date__range=(start_date, end_date))
isnull 判断为空
iregex不区分大小的正则匹配
Entry.objects.get(title__iregex=r'^(an?|the) +')
Entry.objects.filter(pub_date__date=datetime.date(2005, 1, 1))
day 日期
week    第几周
week_day    周几
time    时间
hour    小时
minute  分钟
second  秒
latest/earliest()时间最新对象
Entry.objects.latest('pub_date')

first()/last()默认主键排序第一个对象
p = Article.objects.order_by('title', 'pub_date').first()

***统计
Count(expression, distinct=False, **extra)
Max(expression, output_field=None, **extra)
Min(expression, output_field=None, **extra)
Sum(expression, output_field=None, **extra)


F表达式
支持对F()对象进行加、减、乘、除、取模以及幂运算等算术操作
from django.db.models import F
Entry.objects.filter(rating__lt=F('n_comments') + F('n_pingbacks'))
支持.bitand()、.bitor()、.bitrightshift()和.bitleftshift()4种位操作
F('somefield').bitand(16)

原生SQL语句中%符号有特殊的作用。Django帮你自动转义了百分符号和下划线
Entry.objects.filter(headline__contains='%')
SELECT ... WHERE headline LIKE '%\%%';

Q来自django.db.models.Q,用于封装关键字参数的集合,可以作为关键字参数用于filter、exclude和get等函数
























相关文章

  • _姜2

    = = =

  • 姜栆酵素

    ..姜枣酵素配方(一): 鲜姜2斤+枣片2两+枸杞2两+750克红糖+6升水。 枣酵素: ..冬吃萝卜夏吃姜!养生...

  • 姜姜姜姜

    爱情的起因是什么?两个人为什么会在一起? 她说是见鬼了或者是撞邪了。 我也觉得姜晓说的是对的,我遇见她的那天晚上就...

  • 芳疗-精油-姜辣素

    Gingerol(姜辣素)和Shogaol(姜辣烯酮)是姜精油发热的主要成分。而这两种成分,主要存在于姜CO2 T...

  • 养生小知识

    【养生小知识】 吃姜有3大好处 1、祛湿 姜能加快血液循环,扩张毛孔,利于排汗 2、增进食欲 姜含有一些挥发油和姜...

  • 姜棗酵素

    姜棗酵素配方(一): 鮮姜2斤(去皮切薄片或切絲)+棗片(不要用烘乾的,自然晾乾的)2兩(去核)+枸杞2兩+750...

  • 姜枣酵素配方(一):

    针对妇科炎症,手脚冰凉,宫寒的酵素:姜枣酵素配方(一): 鲜姜2斤+枣片2两+枸杞2两+750克红糖+6升水+半个...

  • 这样煮瘦肉汤,很鲜美

    材料:瘦肉,姜,酱油,料酒,盐 1.买瘦肉,切成小块的 2.姜切成小块 3.用锅烧开水,然后放姜、瘦肉下去 4.水...

  • 菜谱:椒油爆皮蛋

    原料: 皮蛋、酱油、姜、大蒜、尖椒、白糖1、皮蛋切八块;2、尖椒切丁,姜,蒜切小薄片;3、热油爆香蒜和姜;加尖椒爆...

  • 一杯姜水防治多病

    【一杯姜水防治多病】 1、抵抗空调病、冷饮病。 2、内服外用治感冒。 3、用热姜水洗头,治疗脱发。 4、姜水加蜂蜜...

网友评论

      本文标题:_姜2

      本文链接:https://www.haomeiwen.com/subject/xrmmeftx.html