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.