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

做外贸雨伞到什么网站020网站建设和维护费用

做外贸雨伞到什么网站,020网站建设和维护费用,建网360 网站建设,网络管理系统怎么打开序列化器 serializers 序列化器的作用 序列化将 queryset 和 instance 转换为 json/xml/yaml 返回给前端 反序列化与序列化则相反 定义序列化器 定义类,继承自 Serializer 通常新建一个 serializers.py 文件 撰写序列化内容 suah as 目前只支持 read_only 只…

序列化器 serializers

序列化器的作用

序列化将 querysetinstance 转换为 json/xml/yaml 返回给前端
反序列化与序列化则相反

定义序列化器

定义类,继承自 Serializer

通常新建一个 serializers.py 文件 撰写序列化内容

suah as 目前只支持

read_only 只读

label 字段说明信息

max_length 最大长度

serializer.py

# 定义产品序列化器
from rest_framework.serializers import *
from .models import *# 产品分类序列化器
class GoodsCategorySerializer(ModelSerializer):class Meta:model = GoodsCategoryfields = ('name', 'remark')# 产品序列化器
class GoodsSerializer(ModelSerializer):# 外键字段相关的数据 需要单独序列化category = GoodsCategorySerializer()class Meta:model = Goods# 序列化单个字段fields = ('name',)# 序列化多个字段fields = ('name','number',)# 序列化所有字段fields = '__all__'

views.py

from django.shortcuts import render
from rest_framework.response import Response
from .models import *
from rest_framework.decorators import api_view
from django.shortcuts import get_object_or_404
from rest_framework.views import APIView
from .serializer import *class GetGoods(APIView):def get(self, request):data = Goods.objects.all()serializer = GoodsSerializer(instance=data, many=True)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(instance=new_goods)return Response(serializer.data)

urls.py

from django.contrib import admin
from django.urls import path
from apps.erp_test.views import *urlpatterns = [path('admin/', admin.site.urls),path('filtergoodscategory/', FilterGoodsCategory),path('filtergoodscategoryapi/', FilterGoodsCategoryAPI.as_view()),path('getgoods/', GetGoods.as_view()),
]

a. 序列化单个对象

  • 获取对象 data = Goods.objects.get(id=1)

  • 创建序列化器 sberializer = GoodsSerializer(instance=data)

  • 转换数据 print(serializer.data)

  • 注意点:

    instance是一个参数,用于指定要序列化或反序列化的 Python 对象。具体来说,它是一个类实例(Class Instance),通常是指一个从数据库或其他数据源中检索出来的模型实例(Model Instance)。

    当我们需要将一个模型实例转换为 JSON 或其他格式时,可以使用 Django 的序列化器(Serializer)来实现。

  • 输出:

{"id": 1,"number": "1","name": "第一个产品","purchase_price": 100.0,"retail_price": 150.0,"remark": "测试产品"
}

b. 序列化多个对象

data = Goods.objects.all() # 获取对象# 创建序列化器,many表示序列化多个对象,默认为单个
serializer = GoodsSerializer(instance=data,many=True)print(serializer.data) # 转换数据# 输出:
[OrderedDict([('id', 1), ('number', '1'), ('name', '第一个产品'), ('purchase_price', 100.0), ('retail_price', 150.0), ('remark', '测试产品')]), OrderedDict([('id', 2), ('number', '123'), ('name', '产品2'), ('purchase_price', 123.0), ('retail_price', 4123.0), ('remark', '测试产品2')])]  

在这里插入图片描述

在这里插入图片描述

http://www.yayakq.cn/news/582094/

相关文章:

  • wordpress浮动音乐厦门网站关键词优化
  • 如何做淘宝商城网站做网站注意什么问题
  • 在县城做商城网站教育类小程序开发
  • wordpress自助建站系统看看铜陵新闻
  • 手机网站模板 html5 下载工具漳州做网站优化
  • 资阳网站优化外国网站设计素材
  • 平面电商网站建设wordpress 已登录用户登录
  • 顺德人做多上哪个网站做环保是跑还是网站卖
  • 建设网站需要哪些认证企业文化ppt
  • 成都网站建设哪家好美食网页设计免费模板
  • wordpress自定义字段筛选网站优化网站
  • 腾讯云网站建设小程序商店多少钱
  • 网站建设书籍 知乎无锡谷歌推广
  • 上海jsp网站建设wordpress 网校
  • 做代理的项目在哪个网站天津河东做网站哪家好
  • 一个空间放两个php网站网站开发课程报告心得
  • 微网站怎么开发网站鼠标移上去显示层
  • vuepress wordpress西安优化外包
  • 西安给大学做网站公司沧州万网信息技术有限公司
  • win7记事本做网站湖南省建筑信息网
  • 如何做简易个人网站wordpress 全屏图片
  • 手机网站怎么做的好搭建了什么样的平台
  • 昆明做网站哪家北京官方网站网
  • 有谁有做卫生纸巾的网站wordpress文章禁止搜索
  • 怎么做网站旺铺装修怎么看网站开发语言
  • 个人备案能做公司网站吗网站制作现状解决方案
  • 网站建设报价方案对比电子商务网站开发应遵循的基本原则
  • net网站开发视频北京开发网站建设
  • seo网站推广服务自己做个网站的流程
  • 网站开发有什么工作内容网站制作建