Model常用操作:
··· [obj(id,name,pwd,email),obj(id,name,pwd,email),]
models.UserInfo.objects.all()
[obj(id,name,email)] # pwd未取值
data_list = models.UserInfo.objects.all().only('name','email')
for item in data_list:
item.id
item.name
only 是指只取当前这列的属性'name','email'
[obj(id,pwd)] # pwd未取值
data_list = models.UserInfo.objects.all().defer('name','email')
defer和only正好相反,除了括号内的属性其他都要取出来
for item in data_list:
item.id
item.pwd
···
ORM对象
class News(models.Model):
title = models.CharField(max_length=32)
summary = models.CharField(max_length=255)
news_type_chices = (
(1,'图片'),
(2,'挨踢1024'),
(3,'段子'),
)
news_type = models.IntegerField(choices=news_type_chices)
# 查看所有新闻
new_list = News.objects.all()
for row in new_list:
print(row.title,row.summary, row.get_news_type_display() )
news_type在程序启动时加载到内存,节约资源,不会再去ORM中查找