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

京西商城——创建订单和获取订单接口

在之前的写过的接口中,我先后用了基于View和APIView来编写视图类

基于APIView类的时候相对于View会有很多便捷,但其实drf还在APIView的基础上又封装了一个 GenericAPIView 类,会大大减少了在编写视图时的重复代码和在修改代码时的工作量。

GenericAPIView 允许你通过 querysetserializer_class 属性来指定视图操作的数据集和序列化器。以便于在修改代码时不必要整篇修改。

lookup_fieldlookup_url_kwarg 属性,使得可以自定义如何通过 URL 参数来查找特定的模型实例。这为细节视图提供了灵活的查找机制。

order/views.py
from rest_framework.generics import GenericAPIView
from apps.order.models import Order
from apps.order.serializers import OrderSerializer
from utils import ResponseMessageclass OrderListGenericAPIView(GenericAPIView):serializer_class = OrderSerializer  # 指定序列化器类queryset = Order.objects.all()  # 获取查询集lookup_fields = ['user']  # 告诉Drf在URL里用什么关键词来找到对应的数据记录(get请求)def post(self, request, *args, **kwargs):# print(self.get_queryset())# print(self.get_serializer())data = request.data# print(data)order = self.get_serializer(data=data)if order.is_valid(raise_exception=True):# print(order.data)order.save()return ResponseMessage.OrderResponse.success(order.data)else:return ResponseMessage.OrderResponse.failed(order.errors)def get(self, request, user):# print(user)# 查询数据库所有数据# return ResponseMessage.OrderResponse.success(self.get_serializer(instance=self.get_queryset(), many=True).data)orders = self.get_serializer(instance=self.get_queryset().filter(user=user), many=True)return ResponseMessage.OrderResponse.success(orders.data)
order/urls.py
from django.urls import path
from apps.order import viewsurlpatterns = [# path('list/', views.OrderListGenericAPIView.as_view(), name='order_list'),path('list/<int:user>/<int:status>', views.OrderListGenericAPIView.as_view(), name='order_detail')
]

若有错误与不足请指出,关注DPT一起进步吧!!!

相关文章:

京西商城——创建订单和获取订单接口

在之前的写过的接口中&#xff0c;我先后用了基于View和APIView来编写视图类 基于APIView类的时候相对于View会有很多便捷&#xff0c;但其实drf还在APIView的基础上又封装了一个 GenericAPIView 类&#xff0c;会大大减少了在编写视图时的重复代码和在修改代码时的工作量。 G…...

大话设计模式之模板方法模式

模板方法模式&#xff08;Template Method Pattern&#xff09;是一种行为设计模式&#xff0c;它定义了一个算法的框架&#xff0c;将特定步骤的实现延迟到子类中。模板方法模式通过在父类中定义算法的骨架&#xff0c;而将具体步骤的实现留给子类来完成&#xff0c;从而使子类…...

新model开发记录

模型使用 -- 用blender导出为 fbx &#xff0c;修改渲染方式&#xff08;点击模型->Materials->Extract Materials(将材质从fbx中 单独提取出来了)->Materials 选择 Shader -> SimpleURPToonLitExample 点开脸的材质&#xff0c;勾选第一条&#xff09; 解决角色…...

ARMday1

1.总结keil5下载代码和编译代码需要注意的事项 答&#xff1a;下载代码时&#xff0c;确保stlink的驱动有效、魔术棒中硬件型号的连接 编译代码时&#xff0c;先将配置魔术棒里Debug中的Setting&#xff0c;将Flash中Reset and Run勾选上&#xff0c;并去除pack中的Enab…...

【C++风云录】创造视觉奇迹:探索C++图形编程的魅力与可能性

图形与界面&#xff1a;从SFML到Allegro&#xff0c;探索C图形编程的世界 前言 随着计算机图形技术和界面设计的快速发展&#xff0c;图形编程在软件开发中变得越来越重要。C作为一种功能强大的编程语言&#xff0c;为开发人员提供了丰富的图形编程工具和库。本文将介绍几个流…...

常见的Nginx+Redis+MQ+DB架构设计

三高&#xff0c;复杂的架构 SQRS CAP 缓存&#xff0c;限流 【Redis&#xff0c;缓存】 cache-aside 缓存cache&#xff1a;数据源的副本 store 1. Read/Write Through Pattern 读写穿透模式 redis&#xff1a;放当前在线用户&#xff0c;热点数据...

vue+elementUI搭建动态表头的表格

前提&#xff1a;以下代码是vue2项目结合elementUi完成的 数据结构 后端传来的数据是两个list&#xff0c;一个表头的list&#xff0c;一个表格内容的list // 表头 headTableAtts: [{ columnLabel: 姓名, columnName: name },{ columnLabel: 年龄, columnName: age },{ colu…...

【ENSP】交换机和交换机之间实现静态路由

1.概念 三层交换机只能在Vlanif逻辑口配置iP地址 2.实现方法 交换机允许对应vlan通行&#xff0c;配置vlanif的ip地址&#xff0c;做静态路由 3.静态路由配置方法 ip route-static 目的网段 子网掩码 下一跳设备 LSW1三层交换机配置 u t m sys vlan batch 10 20 …...

2024.2.18力扣每日一题——N叉树的前序遍历

2024.2.18 题目来源我的题解方法一 深度优先遍历&#xff08;递归方式&#xff09;方法二 迭代方式&#xff08;栈实现&#xff09; 题目来源 力扣每日一题&#xff1b;题序&#xff1a;589 我的题解 方法一 深度优先遍历&#xff08;递归方式&#xff09; 与二叉树的前序遍…...

Taro活动列表中,对某一个活动添加分享按钮

采用data-留下分享链接的拼接参数 1.在item文件中写按钮 openType“share” <ButtonclassName{classes.rowRightShareButton}openType"share"data-share-transfer-id{lastGiftingTransferId}data-share-picture-url{shareUrl}data-share-title{shareTitle}onClic…...

深入理解计算机系统 家庭作业 2.65

/* 异或运算可以把同为1时变成0。 */ #include <stdio.h> #include <stdlib.h> int odd_ones(unsigned x); int main(void) { int x0xF00000016; printf("x的奇数位:%d",odd_ones(x)); return 0; } int odd_ones(unsigned x) { char…...

Java字节码

Java Agent概述 Java Agent是一种特殊类型的软件组件&#xff0c;它允许在Java虚拟机&#xff08;JVM&#xff09;运行时修改应用程序的字节码。这种技术通常用于性能监控、日志记录、系统调试等。Java Agent主要分为两类&#xff1a; 1. 启动时加载的Agent&#xff08;Pre-Ma…...

深入解析大数据体系中的ETL工作原理及常见组件

** 引言 关联阅读博客文章&#xff1a;探讨在大数据体系中API的通信机制与工作原理 关联阅读博客文章&#xff1a;深入理解HDFS工作原理&#xff1a;大数据存储和容错性机制解析 ** 在当今数字化时代&#xff0c;大数据处理已经成为了企业成功的重要组成部分。而在大数据处…...

条件变量的简易C++实现版

条件变量通常与互斥锁一起使用&#xff0c;用于线程间的同步。以下是条件变量常用的一些函数&#xff1a; ①std::condition_variable::wait(lock, pred)&#xff1a;线程调用此函数时&#xff0c;会原子性地释放锁并阻塞当前线程&#xff0c;等待另一个线程调用 notify_one 或…...

目标检测评价标准

主要借鉴&#xff1a;https://github.com/rafaelpadilla/Object-Detection-Metrics?tabreadme-ov-file 主要评价指标、术语&#xff1a; Intersection Over Union (IOU)&#xff1a;两个检测框交集面积与并集面积的比值 True Positive (TP)&#xff1a;IOU大于阈值的检测框…...

C51-- 蓝牙,WIFI模块

HC-08蓝牙模块: 蓝牙 -- 最好用的 串口透传 模块 透传 -- 透明传送&#xff0c;指的是在数据传输的过程中&#xff0c;通过无线的方式这组数据不发生任何形式的改变&#xff0c; 仿佛传输过程是透明的&#xff0c;同时保证传输质量&#xff0c;最终原封不动的传送到接收者手…...

HN热帖|替换Redis的一场赛跑

3 月 21 日&#xff0c; Redis Ltd. 宣布了一项重大决定&#xff1a;Redis “内存数据存储”项目从 Redis 7.4 版本开始将以非自由的、源代码可用的许可证发布。这一消息并不受欢迎&#xff0c;但也并非完全意外。这次的变化的不同寻常之处是市面上已经有了多个 Redis 替代品可…...

Kubernetes(k8s):网络插件之Calico安装与详解

Kubernetes&#xff08;k8s&#xff09;&#xff1a;网络插件之Calico安装与详解 1、什么是Calico&#xff1f;2、安装和配置Calico&#xff08;控制节点-master执行&#xff09;3、配置网络策略4、 Calico 的 yaml 文件部分详解1、ConfigMap配置2、DaemonSet 配置 5、calico-k…...

Chrome base 库详解:工具类和常用类库

Chrome浏览器使用了一个强大的库名为base&#xff0c;它包括了许多工具类和常用类库&#xff0c;以支持Chrome的底层功能和性能优化。在本文中&#xff0c;我们将详细阐述base库中的每个子项&#xff0c;并提供示例代码来展示其用法。 base 库的基本结构 Chrome的base库是一个…...

Nginx开发实战三:替换请求资源中的固定数据

文章目录 1.效果预览2.下载Nginx解压并初始化3.字符串替换模块安装4.修改nginx配置文件并重启 1.效果预览 页面初始效果 页面替换后效果 说明:页面是内网的一个地址&#xff0c;我们通过nginx可以很便捷的将其改为外网访问&#xff0c;但是在外网访问这个地址后&#xff0c…...

解放双手!用Open-AutoGLM实现微信自动回复消息,亲测可用

解放双手&#xff01;用Open-AutoGLM实现微信自动回复消息&#xff0c;亲测可用 1. 为什么需要微信自动回复&#xff1f; 每天我们都会收到大量微信消息&#xff1a;工作群的通知、朋友的问候、家人的关心...但总有那么些时刻&#xff0c;我们无法及时回复&#xff1a; 开会…...

SUNFLOWER MATCH LAB在CSDN技术社区的分享:从部署到创新的完整旅程

SUNFLOWER MATCH LAB在CSDN技术社区的分享&#xff1a;从部署到创新的完整旅程 最近在CSDN上看到不少关于AI模型部署和应用的讨论&#xff0c;其中SUNFLOWER MATCH LAB这个项目引起了我的注意。它不是一个简单的模型调用工具&#xff0c;更像是一个围绕特定AI能力构建的完整实…...

5分钟上手:在浏览器中创造惊艳的流体艺术特效

5分钟上手&#xff1a;在浏览器中创造惊艳的流体艺术特效 【免费下载链接】WebGL-Fluid-Simulation Play with fluids in your browser (works even on mobile) 项目地址: https://gitcode.com/gh_mirrors/web/WebGL-Fluid-Simulation 想要在浏览器中体验令人惊叹的流体…...

泛微OA E9提醒功能实战:手把手教你用HTML美化定时邮件,告别枯燥系统通知

泛微OA E9邮件提醒设计指南&#xff1a;打造高转化率的HTML通知模板 每周五下午3点&#xff0c;市场部的李经理都会收到一封来自OA系统的周报提醒邮件。与往常不同的是&#xff0c;这次邮件的设计让人眼前一亮——精致的品牌配色、清晰的行动按钮、适配手机的版式布局。原本被…...

当LLM学会“思考”算法逻辑:拆解EoH如何用“思想+代码”协同进化,碾压传统自动设计

当LLM成为算法设计师&#xff1a;揭秘EoH如何用“思维代码”双螺旋进化重塑自动算法设计 想象一下&#xff0c;你正在指挥一支由建筑师和施工队组成的特殊团队。建筑师负责绘制蓝图&#xff0c;施工队负责将蓝图变为现实。但与传统团队不同&#xff0c;你的建筑师能根据施工反…...

RexUniNLU硬件加速:TensorRT推理优化实践

RexUniNLU硬件加速&#xff1a;TensorRT推理优化实践 想让你的RexUniNLU模型推理速度飞起来吗&#xff1f;尤其是在T4这类消费级显卡上&#xff0c;看着模型慢悠悠地吐出结果&#xff0c;是不是有点着急&#xff1f;今天咱们就来聊聊怎么用TensorRT给RexUniNLU“打一针强心剂”…...

TurboDiffusion新手必看:从零开始,快速掌握视频生成技巧

TurboDiffusion新手必看&#xff1a;从零开始&#xff0c;快速掌握视频生成技巧 1. 认识TurboDiffusion&#xff1a;视频生成的新纪元 想象一下&#xff0c;你脑海中有一个精彩的视频创意&#xff0c;传统方式需要找团队、租设备、拍摄剪辑&#xff0c;耗时耗力。而现在&…...

别再手动复制粘贴了!用CubeMX一键生成FreeRTOS工程(STM32F4 HAL库实战)

告别繁琐配置&#xff1a;STM32CubeMXFreeRTOS全自动工程生成指南 在嵌入式开发领域&#xff0c;时间就是竞争力。传统FreeRTOS移植需要手动复制文件、配置路径、修改中断向量表&#xff0c;稍有不慎就会陷入头文件缺失、链接错误的泥潭。现在&#xff0c;STM32CubeMX的图形化…...

Java面试高频:阿里真实面试题——Redis分布式锁实现(3分钟速通,不会直接挂)

一、真实面试场景&#xff08;代入感拉满&#xff09; 上周&#xff0c;一个候选人来面试阿里P6。 技术面已经过了两轮&#xff0c;表现都不错。 最后一轮&#xff0c;面试官只问了一个问题&#xff1a; “你们项目里用过Redis分布式锁吗&#xff1f;怎么实现的&#xff1f;…...

跨平台音频格式兼容性处理:让FRCRN支持更多音视频文件

跨平台音频格式兼容性处理&#xff1a;让FRCRN支持更多音视频文件 你有没有遇到过这种情况&#xff1f;精心搭建了一个基于FRCRN模型的音频降噪服务&#xff0c;信心满满地准备上线&#xff0c;结果用户一上传文件&#xff0c;服务就报错。有的用户传的是手机录的.m4a&#xf…...