django model对象修改_model.object对象查询过滤、增删改、Q

vm.objects.all()[:10] #获得前10个对象,不支持负索引vm.objects.get(name='vmname')vm.objects.filter(name='vmname') #等价于vm.objects.filter(name__exact='vmname');name__iexact不区分大小写vm.objects.filter(name__contains="vm")...
摘要由CSDN通过智能技术生成

vm.objects.all()[:10] #获得前10个对象,不支持负索引

vm.objects.get(name='vmname')

vm.objects.filter(name='vmname') #等价于vm.objects.filter(name__exact='vmname');name__iexact不区分大小写

vm.objects.filter(name__contains="vm")

vm.objects.filter(name__regex="^vm") #正则查询

vm.objects.filter(name__contains="vm").exclude(ip='192.168.0.1')

tb.objects.all().exists() #判断tb中是否为空

tb.objects.all().count() #查询tb中的对象数量

tb.objects.all().order_by('-name') #对tb中的对象按照name倒序查询

tb.objects.all().reverse() #倒序取值,但需要已经在model中进行了排序,否则无意义。

qb=tb.objects.filter(name__contains='b')

qb.values() #返回值:[{'ip': u'192.168.1.1', 'rating': 0, u'id': 1, 'name': u'aa'}, {'ip': u'192.168.1.110', 'rating': 11, u'id': 3, 'name': u'aa'}]

qb.values_list() #返回值:[(1, u'aa', u'192.168.1.1', 0), (3, u'aa', u'192.168.1.110', 11)]

q1.values_list('name','ip') #返回值:[(u'aa', u'192.168.1.1'), (u'aa', u'192.168.1.110')

#新建对象:

vm.objects.create(name='vmname',ip='192.168.1.1')

item=vm(name='vmname',ip='192.168.1.1')

item.save()

item=vm()

item.ip='192.168.1.1'

item.save()

item=vm(name='vmname')

item.ip='192.168.1.1'item.save()

vm.objects.get_or_create(name='vmname',ip='192.168.1.1') #先Get,不存在则Create,可以防止重复,但速度要相对慢些,返回一个元组,第一个为对象,第二个为True或False, 新建时返回的是True, 已经存在时返回False.

#修改对象:

item=vm.objects.get(name='vmname')

item.ip='192.168.1.1'

item.save()

Publisher.objects.all().delete() #删除所有

item.delete() #删除记录,直接删除

当key和value都是变量时,无法通过item.key=value方式赋值,可以使用如下方法:

item.__setattr__(key,value) 或者 setattr(obj, key, value)

item.save()

filter字段为变量时:

field_name='IPAddress__icontains'v='192.168.1.3'hvsrvs.objects.filter(**{field_name: v})

filterconitionname= request.

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值