码迷,mamicode.com
首页 > 系统相关 > 详细

django模板的shell操作

时间:2017-04-24 15:42:28      阅读:277      评论:0      收藏:0      [点我收藏+]

标签:使用   regex   大小写   lis   contains   mod   clu   turn   line   

from django.db import models
 
 
class Person(models.Model):
    name = models.CharField(max_length=30)
    age = models.IntegerField()
     
    def __unicode__(self):
    # 在Python3中使用 def __str__(self)
        return self.name

$python manage.py shell

>>>from app01.models import Person

新建一个对象的几种方法:

1. Person.objects.create(name="zhangsan", age=23)

2. p = Person(naem="lisi", age=22)

  p.save()

3. p = Person(name="wangwu")

  p.age = 20

  p.save()

4. Person.objects.get_or_create(name="djw", age=25)

   这种方法是防止重复很好的方法,但是速度要相对慢些,返回一个元组,第一个为Person对象,第二个为True或者False,新建时返回的是True,已经存在时返回False

 

获取对象有以下方法:

1. Person.objects.all()

2. Person.objects.all()[:10]

3. Person.objects.all(name=name)

  get是用来获取一个对象的,如果需要获取满足条件的一些人,就要用到filter

4. Person.objects.filter(name=‘abc‘) #等于Person.objects.filter(name__exact=‘abc‘)名称严格等于‘abc‘的人

5. Person.objects.filter(name__iexact=‘abc‘) #名称为abc到那时不区分大小写,可以找到ABC,Abc,aBC,这些都符合条件

6. Person.objects.filter(name__contains=‘abc‘) #名称中包含‘abc‘的人

7. Person.objects.filter(name__icontains=‘abc‘) #名称中包含‘abc‘,且abc不区分大小写

8. Person.objects.filter(name__regex="^abc") #正则表达式查询

9. Person.objects.filter(name__iregex=‘^abc‘) #正则表达式不区分大小写

  filter是找出满足条件的,当然也有排除符合某条件的

10. Person.objects.exclude(name__contains=‘wz‘) #排除包含wz的Person对象

11. Person.objects.filter(name__contains=‘abc‘).exclude(age=23) #找出名称含有abc,但是排除年龄是23岁的

 

django模板的shell操作

标签:使用   regex   大小写   lis   contains   mod   clu   turn   line   

原文地址:http://www.cnblogs.com/Garvey/p/6756841.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!