framework框架学习

@require_GET
def show(request):
“”"
根据项目名称检索项目信息
:param request:
:return:
# 返回数据格式:
# 无数据:{“status_code”:200,“cata”:{“count”:0,“Posts”:null}}
# 有数据:{“status_code”:200,“data”:{“count”:1,“posts”:
# [{“name”:“Shop”,“principal”:“大饼”, “environment”:{“测试环境”:“http://dabing.com”}}]}}
“”"
name = request.GET.get(‘name’)http://yezishuju.com/

if name:
    # 1,queryset类型的读取方式与字典类似,但并非字典,它内部的值都是OBJECT对象。那么JSON是无法序列化对象的。
    # 2,利用values()和values_list()方法,将queryset转换成字典和列表形式的存储方式。PS:这样还不行,还有一步要做。
    # 3,再将转换完的queryset转换成list列表。 注意:上面的转换不是转换成字典或列表,而是字典和列表的数据存储形式。
    # 4,这样,通过JsonResponse就可以序列化了,重要一点:必须加入safe=False 参数。(因为咱们序列化的是一个列表)
    items = models.Project.objects.values().filter(name__icontains=f'{name.strip()}')

else:
    items = models.Project.objects.values().all()

items = list(items)
data = {'status_code': 200, 'data': {'Count': len(items), 'Posts': items}}
return JsonResponse(data, safe=False)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值