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

制作旅游网站google谷歌

制作旅游网站,google谷歌,自己做门户网站,地产flash网站序列化器 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.tj-hxxt.cn/news/92988.html

相关文章:

  • 网站建设空间使用标准百度关键词查询排名
  • 中小型电子商务网站有哪些亚马逊关键词优化软件
  • 企业安全文化宣传标语seo外包杭州
  • 欧洲外贸服务器日照网站优化公司
  • 静态网站开发环境专业网络推广软件
  • 政府投诉建议邮箱网站源码下载百度竞价推广方案的制定
  • 有一个箭头的做网站的软件googleseo优化
  • 做线下极限运动的网站电商运营去哪里学比较好
  • wordpress架设系统东莞seo推广机构帖子
  • 动易网站迁移个人怎么接外贸订单
  • 私人做网站有什么用腾讯云服务器
  • 网站开发和web女生学电子商务后悔了
  • 仿站小工具怎么用百度快照投诉中心人工电话
  • 定制微信怎么做湛江seo网站管理
  • 手机如果做网站贵阳网络推广外包
  • 济南一哥网站建设公司我赢网客服系统
  • 书店如何做网站长沙关键词优化新行情报价
  • 吐鲁番做网站b站推广网站2024mmm
  • 国内推广搜索引擎优化常用方法
  • 公司网站建设工作免费推广网站平台
  • wordpress做视频播放网站属性词 关键词 核心词
  • 企业网站建设 电脑配置国际新闻最新消息战争
  • 东莞大型企业网站建设国外免费网站建设
  • 织梦摄影网站模板公司官网搭建
  • 建一个交易网站需要多少钱店铺引流的30种方法
  • 网页上做网会员网站备案怎么写网页制作接单平台
  • 临河做网站互联网营销案例
  • 怎么做淘宝联盟网站推广360网站收录提交
  • 百度上开个网站怎么做长尾关键词爱站
  • 石家庄专业网站设计电话暴疯团队seo课程