12)django-ORM(单表返回数据3种方式)
2017-11-01 10:59
429 查看
单表查询还回数据有3种形式,返回形式不一样,模板调用方式不同
1)返回Queryset里面内容为对象:Business.objects.all() 这里内容显示是对象
2)返回Queryset里面内容为字典:Business.objects.all().values("id","caption")这里内容是字典
3)返回Queryset里面内容为元组:Business.objects.all().values_list("id","caption")这里显示是元组
class Business(models.Model):
caption=models.CharField(max_length=32)
code=models.CharField(max_length=32,null=True,default="SA")
#1) v1=Business.objects.all() #Queryset #[obj(id,caption,code),obj(id,caption,code),obj(id,caption,code)]
#2)
v2=Business.objects.all().values("id","caption") #Queryset,注意这里列表不是对象了,是字典 #[{"id":1,"caption":"运围部"},{"id":1,"caption":"运围部"}] #3) v3=Business.objects.all().values_list("id","caption") #Queryset,注意这里列表不是对象了,返回的是元组 #[(1,“运围部”),(2,“运围部”)] return render(request,"business.html",{"v1":v1,"v2":v2,"v3":v3})
-------------------------------------
模板:
1)
<ul> {% for row in v1 %} <li>{{ row.id }} {{ row.caption }} {{ row.code }}</li> {% endfor %} </ul> 2) <ul> {% for row in v2 %} <li>{{ row.id }} {{ row.caption }}</li> {% endfor %} </ul>
3) <ul> {% for row in v3 %} <li>{{ row.0 }} {{ row.1 }}</li> {% endfor %} </ul> values queryset是字典,values_list是queryset下是元组,其他返回都是queryset下是对象 models.Business.objects.get(id=1)直接返回是一个对象,不存在会报错 如何解决: models.Business.objects.filter(id=1).first()会更好
相关文章推荐
- django学习笔记---获取关联表单数据的3种方式(列表,字典,元祖)。
- 13)django-ORM(连表一对多,外键创建,创建数据,3种查询)
- django-师生班级增删改查(orm方式)
- 通过HTTP方式获取URL返回结果数据(Java)
- http编程系列3:http协议POST方式提交数据并返回结果
- Android之从网络中获取数据并返回客户端的两种方式:XML格式返回与Json格式返回
- 在IIS 7.5中,WCF 的 WebGet 方式无法返回集合数据
- 以$.post方式提交数据 并以json格式返回数据
- webservice 优化性能的方法,以返回Dataset为例,当大数据量时采用先压缩的方式,调用再解压缩
- MySQL学习笔记_12_Linux下C++/C连接MySQL数据库(二) --返回数据的SQL
- django使用orm方式查询mogodb的某段时间的值
- Struts2第十篇【数据校验、代码方式、XML配置方式、错误信息返回样式】
- SpringMVC返回json数据的三种方式
- SpringMVC返回json数据的三种方式
- Android之从网络中获取数据并返回客户端的两种方式:XML格式返回与Json格式返回
- django shell 方式删除数据
- SpringMVC返回json数据的三种方式
- SpringMVC返回json格式数据(注解方式)
- SpringMVC返回json数据的三种方式
- django 返回json数据