新建一个对象
Person.objects.create(name=name,age=age)
p = Person(name="WZ", age=23)
p.save()
p = Person(name="TWZ")
p.age = 23
p.save()
Person.objects.get_or_create(name="WZT", age=23)
获取对象
- 获取全部对象
Person.objects.all()
Person.objects.all()[:10] 切片操作,获取10个人,不支持负索引,切片可以节约内存
-获取单个对象
Person.objects.get(name=name)
-获取满足条件的对象
Person.objects.filter(name="abc")
Person.objects.filter(name__iexact="abc")
Person.objects.filter(name__contains="abc")
Person.objects.filter(name__icontains="abc")
Person.objects.filter(name__regex="^abc")
Person.objects.filter(name__iregex="^abc")
Person.objects.exclude(name__contains="WZ")
Person.objects.filter(name__contains="abc").exclude(age=23)
values_list 获取元组形式结果
In [6]: authors = Author.objects.values_list('name', 'qq')
In [7]: authors
Out[7]: <QuerySet [(u'WeizhongTu', u'336643078'), (u'twz915', u'915792575'), (u'wangdachui', u'353506297'), (u'xiaoming', u'004466315')]>
values 获取字典形式的结果
In [13]: Author.objects.values('name', 'qq')
Out[13]: <QuerySet [{'qq': u'336643078', 'name': u'WeizhongTu'}, {'qq': u'915792575', 'name': u'twz915'}, {'qq': u'353506297', 'name': u'wangdachui'}, {'qq': u'004466315', 'name': u'xiaoming'}]>
In [14]: list(Author.objects.values('name', 'qq'))
Out[14]:
[{'name': u'WeizhongTu', 'qq': u'336643078'},
{'name': u'twz915', 'qq': u'915792575'},
{'name': u'wangdachui', 'qq': u'353506297'},
{'name': u'xiaoming', 'qq': u'004466315'}]
修改一个 settings.py 让Django打印出在数据库中执行的语句
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'console': {
'class': 'logging.StreamHandler',
},
},
'loggers': {
'django.db.backends': {
'handlers': ['console'],
'level': 'DEBUG' if **True** else 'INFO',
},
},
}