標籤:使用 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") #Regex查詢
9. Person.objects.filter(name__iregex=‘^abc‘) #Regex不區分大小寫
filter是找出滿足條件的,當然也有排除符合某條件的
10. Person.objects.exclude(name__contains=‘wz‘) #排除包含wz的Person對象
11. Person.objects.filter(name__contains=‘abc‘).exclude(age=23) #找出名稱含有abc,但是排除年齡是23歲的
django模板的shell操作