当前位置: 首页 > news >正文

海南企业建站网站开发主要语言

海南企业建站,网站开发主要语言,网站服务器类型,苏州企业网站建设定制1. DRF QuerySet 和 Instance功能概述 1.1 QuerySet 从数据库中查询结果存放的集合称为 QuerySet。 Django ORM用到三个类#xff1a;Manager、QuerySet、Model。每个Model都有一个默认的 manager实例#xff0c;名为objects。Django的ORM通过Mode的objects属性提供各种数据…1. DRF QuerySet 和 Instance功能概述 1.1 QuerySet 从数据库中查询结果存放的集合称为 QuerySet。 Django ORM用到三个类Manager、QuerySet、Model。每个Model都有一个默认的 manager实例名为objects。Django的ORM通过Mode的objects属性提供各种数据操的接口API并通过 Model.objects 方法返回QuerySet生产符合查询条件的列表列表中包含多个 Instance。 在Django中QuerySet是一个与数据库交互的高级抽象层它用于执行数据库查询操作和操作数据库表中的数据。QuerySet是Django的ORMObject-Relational Mapping系统的一部分它允许你通过Python代码而不是SQL语句来查询和操作数据库。 class QuerySet(modelNone, queryNone, usingNone)[source] 其具有两大特色1 惰性若这个对象中包含了需要的数据且需要使用时它会去DB中获取数据否则不会获取。 比如说在内部创建、过滤、切片和传递一个QuerySet而没有进行真正的数据执行不会真实操作数据库被称为惰性。2缓存使用同一个查询集第一次使用时会发生数据库的查询然后Django会把结果缓存下来再次使用这个查询集时会使用缓存的数据减少了数据库的查询次数。 1.2 操作说明 设定已存在数据表定义如下 class Goods(DjangoPeople): { number CharField(max_length32, verbose_name‘编号’) name CharField(max_length64, verbose_name‘名称’) unit CharField(max_length64, verbose_name‘单位’) remark CharField(max_length256, verbose_name‘备注’) } * all() :返回模型的所有对象它的效果等价于不带任何条件的 filter() 方法。如 DjangoPeople.objects.all() # 查询所有 语句。* filter()(**kwargs) 用于返回符合条件的所有数据。如DjangoPeople.objects.filter(name“abc”) #取出namex的DjangoPeople成员又如DjangoPeople.objects.filter(name“x”) .filter(unit“y”) #取出namex且unity的DjangoPeople成员get() 方法与 filter() 的作用类似用于返回符合条件的单个对象但是可能会返回多个值 delete() 可以删除符合条件的所有对象 如catagories_to_deleteDjangoPeople.objects.filter(name“abc”) deleted_count categories_to_delete.delete() update() 将符合条件的所有对象的某个字段值进行更新 create() 是 save() 方法的快捷方式用于创建并保存一个新的对象。 如created_category DjangoPeople.objects.create(name“abc”) count() 返回符合条件的对象数量 order_by() 对返回的对象进行排序默认为升序。降序则在字段名前面加负号。 查询数据你可以使用QuerySet来查询数据库中的数据。例如你可以执行filter()、get()、exclude()等方法以获取匹配特定条件的数据库记录。 链式查询QuerySet支持链式查询这意味着你可以在查询中多次使用不同的方法以便筛选和排序数据。这使得构建复杂的查询非常容易。 延迟执行QuerySet使用延迟执行的机制它并不立即执行数据库查询而是在需要数据时才执行。这有助于优化查询减少不必要的数据库访问。 更新和删除数据你可以使用update()方法来更新QuerySet中的数据或者使用delete()方法删除匹配条件的数据。 聚合和统计QuerySet支持对查询结果进行聚合和统计操作如计数、求和、平均值等。 序列化数据你可以将QuerySet中的数据序列化为JSON或其他格式以便在API或前端应用程序中使用。 使用模型类QuerySet是与Django模型类相关联的它与模型类一起工作允许你以面向对象的方式处理数据库数据。 QuerySet其他的其接口定义用法类似这里不再一一赘述需要运用可查阅Django官网。 1.3 Instance功能 Instance指的是一个 Django 模型的单个实例也就是数据库中的一行数据。相比于 QuerySet查询集合它是针对单个对象的操作用于创建、更新或者删除单个模型实例。 创建一个对象Obj Model(attr1val1, attr2val2)Obj.save() 更新一个对象Obj Model.objects.get(idxxx)Obj.attr1 val1Obj.save() 删除一个对象Obj Model.objects.get(idxxx)Obj.delete() QuerySet 适用于需要查找多个对象或进行聚合操作的场景而 Instance 适用于单独对象的创建、修改和删除操作。 2. Django APIView 2.1 Teaching Order APIView 的概念 APIview 是 Django REST Framework 提供的一个视图类。它和 Django 中的 view 类有些相似但是又有一些不同之处。APIview 可以处理基于 HTTP 协议的请求并返回基于内容协商的响应它旨在提供一个易于使用且灵活的方式来构建 API 视图。 view.py # 面向对象编程 from django.shortcuts import render from rest_framework.decorators import api_view from .models import * from rest_framework.response import Response from rest_framework.views import APIView #### APIViewclass GetGoods(APIView):def get(self, request):data Goods.objects.all()serializer GoodsSerializer(instancedata, manyTrue)print(serializer.data)return Response(serializer.data)def post(self, request):# 从请求数据中提取字段request_data {category: request.data.get(Goodscategory),number: request.data.get(number),name: request.data.get(name),barcode: request.data.get(barcode),spec: request.data.get(spec),shelf_life_days: request.data.get(shelf_life_days),purchase_price: request.data.get(purchase_price),retail_price: request.data.get(retail_price),remark: request.data.get(remark),}# 使用 create() 方法创建新的商品对象new_goods Goods.objects.create(**request_data)# 对创建的对象进行序列化并作为响应返回serializer GoodsSerializer(instancenew_goods)return Response(serializer.data)# 面向对象编程class FilterGoodsCategoryAPI(APIView):# request 表示当前的请求对象# self 表示当前实例对象def get(self, request, formatNone):print(request.method)return Response(ok)def post(self, request, formatNone):print(request.method)return Response(ok)def put(self, request, formatNone):print(request.method)return Response(ok)url.py from apps.erp_test.views import *urlpatterns [path(admin/, admin.site.urls),path(filtergoodscategoryapi/, FilterGoodsCategoryAPI.as_view()),path(getgoods/, GetGoods.as_view()), ]首先self 表示当前实例对象这里指的是视图类的实例对象。 request 表示当前的请求对象包含了客户端发送的信息例如请求头、请求体等。 pk 是 path 参数 int:pk用于获取请求中的产品 ID。 format 表示客户端请求的响应格式例如 JSON、XML 等。这个参数通常不需要指定会根据客户端发送的 Accept 请求头来自动选择响应格式。如果客户端指定了响应格式那么我们可以从请求中获取到这个参数并且做出相应的处理。 在这个方法中我们需要通过 pk 参数获取到对应的产品数据并将其序列化成 JSON 格式并返回给客户端。具体的实现方式可以参考序列化器文档和 Django ORM 文档。 ‍
http://www.hkea.cn/news/14508527/

相关文章:

  • 学院 网站 两学一做app下载入口
  • 做网站 需求微信群二维码推广平台
  • 网站开发邮件网站建设大概需要多少钱
  • 宁波网站建设设计公司哪些彩票网站可做代理赚钱
  • 免费空间网广州网站优化软件
  • 柒零叁网站建设湖南长沙中国风配色网站
  • 百度医疗网站建设网站建设实录
  • 网站制作应用知识深圳网站建设 乐云践新
  • 网站建设怎么在png上写文字中国建设银行总行网站
  • wordpress文章换行网站优化营销
  • 中山模板建站代理实时热搜榜榜单
  • 大连建站软件帮做网站的网站
  • 合肥高端网站建设网站开发的搭建框架是什么意思
  • 做国外进口衣服的网站做网站是什么会计科目
  • dede一键更新网站佛山网站建设收费标准
  • 嘉兴网站制作星讯网络科技河津市城乡建设局网站
  • 网站如何添加百度统计深圳网站建设黄浦网络-技术差
  • 网站图片不是本站的对seo有什么不好网站 欣赏
  • 建站之星服务器网站地址ip域名查询
  • 网站买了服务器后该怎么做seo常用工具包括
  • 建设一个网站要多少费用建设本地网站 配置iis
  • 网店运营推广高级实训教程山东济南网站制作优化
  • 黑客攻击的网站建设银行租房网站首页
  • 企业网站备案名称要求WordPress怎么改文章颜色
  • 东莞外贸网站制作网站的总体结构
  • php 读取网站文件河南免费网站建设公司推荐
  • 学校网站logo怎么做建设银行上海黄浦支行网站
  • 五个常见的电子商务网站网络营销平台的类型
  • 网站开发的架构公司网上注册流程
  • 德尔普网站建设北京软件培训机构前十名