美文网首页
model增删改查

model增删改查

作者: 黑夜的眸 | 来源:发表于2018-05-07 21:46 被阅读0次

查model

最常使用all(), get(), filter()exclude()

filter()返回一个Queryset集合,即使只有一个对象满足匹配条件,也返回一个包含该对象的集合
get()返回单个对象
exclude()返回满足条件对象以外的集合


order_by()排序


exact

Entry.objects.get(headline__exact="Cat bites dog") #显示表达
Entry.objects.get(headline="Cat bites dog")        #隐式表达

iexact不区分大小写

Blog.objects.get(name__iexact="beatles blog")

匹配"Beatles Blog", "beatles blog", 或者"BeAtlES blOG".


contains包含即可

Entry.objects.get(headline__contains='Lennon')

可以匹配'Today Lennon honored',但不可匹配'today lennon honored'
icontains不区分大小写


具有标题为'Lennon'且发布时间为2008年条目的博客

Blog.objects.filter(entry__headline__contains='Lennon', entry__pub_date__year=2008)

具有标题为'Lennon'条目且具有发布时间为2008年条目的博客

Blog.objects.filter(entry__headline__contains='Lennon').filter(entry__pub_date__year=2008)

前者条件更为苛刻


n 数量
gt greater than 大于
lt less than小于
F() 允许同一model的两个不同域间进行比较,如下:

from django.db.models import F
Entry.objects.filter(n_comments__gt=F('n_pingbacks'))

in 在...之类

Blog.objects.filter(pk__in=[1,4,7])

Q

允许使用|(或运算符)和 &(与运算符)
from django.db.models import Q
Polls.objects.get(
    Q(question__startswith='Who'),
    Q(pub_date=date(2005, 5, 2)) | Q(pub_date=date(2005, 5, 6))
)

增model

model实例化

>>> from blog.models import Blog
>>> b = Blog(name='Beatles Blog', tagline='All the latest Beatles news.')
>>> b.save()

删model

delete()函数

Entry.objects.filter(pub_date__year=2005).delete()

改model

update()函数

# Update all the headlines with pub_date in 2007.
Entry.objects.filter(pub_date__year=2007).update(headline='Everything is the same')

其它函数:


add(obj1, obj2, ...)
#将特定的模型对象加入关联对象集合。
create(**kwargs)
#Creates a new object, saves it and puts it in the related object set.
#Returns the newly created object.
remove(obj1, obj2, ...)
#Removes the specified model objects from the related object set.
clear()
#Removes all objects from the related object set.
set(objs)
#Replace the set of related objects.

相关文章

  • Django-对数据库进行增删查改

    引言 假设有如下的model定义,下面将对该model对应的数据库进行增删改查操作。 增 方法一: 方法二: 删 ...

  • mysql的插入语句

    MySQL增删改查之增insert、replace

  • model增删改查

    查model 最常使用all(), get(), filter()和exclude() filter()返回一个Q...

  • MYSQL数据库的增删改查

    MYSQL数据库的增删改查 一.对于库的增删改查 增create database 库名称;create data...

  • 关于python的list的增查删改

    说到增查删改,想起了数据库,我们在关系型数据库当中就会对表进行增查删改。 在python当中我们也可以对list进...

  • 0812 A

    mongodb 增删改查 增: db.createCollection("name", {options:numb...

  • 增删改

    对于表中的操作,就是增删改查,查内容较多,这里先说增删改。 1.增(insert或者load) 即插入数据,多行插...

  • SQL查询结构总结

    SQL 增删改查 对数据库有修改的操作是:增删改 增 insert into 表名 values(); 删 del...

  • 2018-03-03

    rails c增删改查 增:user = User.create(name:'Jack', age:'18') 删...

  • 函数和增删改查(运用)

    增删改查 (基本命令) 1 . 增 inset(position,value)append(value)exten...

网友评论

      本文标题:model增删改查

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