首页 > 其他分享 >序列化的高级用法之source

序列化的高级用法之source

时间:2023-07-06 22:35:00浏览次数:33  
标签:serializers name publish 用法 source book CharField 序列化

一、可以取别名

book_name = serializers.CharField(source='name')

book_name为前端可以看到的字段值,name是对象真实的属性。注意:别名和真实属性不能相同

二、可以跨表关联查询

publish_name = serializers.CharField(source='publish.name')

必须有关联关系,book模型和publish模型是一对多的关系

三、可以执行方法

 book_name = serializers.CharField(source='sb_name')  # 此时指定的就是方法名
# 写在表模型中
 def sb_name(self):
       return self.name + '_sb'

标签:serializers,name,publish,用法,source,book,CharField,序列化
From: https://www.cnblogs.com/Durant0420/p/17533515.html

相关文章

  • ctfshow刷题(Java反序列化)
    CTFshowJava反序列化web846urldns链importjava.io.ByteArrayOutputStream;importjava.io.IOException;importjava.io.ObjectOutput;importjava.io.ObjectOutputStream;importjava.lang.reflect.Field;importjava.net.URL;importjava.util.Base64;i......
  • Python中标准输入(stdin)、标准输出(stdout)、标准错误(stdout)的用法
    1.标准输入input()、raw_input()Python3.x中input()函数可以实现提示输入,python2.x中要使用raw_input(),例如:foo=input("Enter:")#python2.x要用raw_input()print("Youinput:[%s]"%(foo))#测试执行Enter:abcdeYouinput:[abcde]#读取一行(不......
  • Python中os.system()、subprocess.run()、call()、check_output()的用法
    1.os.system()os.system()是对C语言中system()系统函数的封装,允许执行一条命令,并返回退出码(exitcode),命令输出的内容会直接打印到屏幕上,无法直接获取。示例:#test.pyimportosos.system("ls-l|greptest")#允许管道符#测试执行$ll<=======......
  • 十三、@SentinelResource
    Sentinel提供了@SentinelResource注解用于定义资源,并提供了AspectJ的扩展用于自动定义资源、处理BlockException等。 @SentinelResource用于定义资源,并提供可选的异常处理和fallback配置项。@SentinelResource注解包含以下属性:value:资源名称,必需项(不能为空)en......
  • asyncore用法:
    asyncore用法使用asyncore模块创建域套接字的示例:importasyncoreimportsocketclassEchoServer(asyncore.dispatcher):def__init__(self,address):asyncore.dispatcher.__init__(self)self.create_socket(socket.AF_UNIX,socket.SOCK_STREAM)......
  • mybatis association 的用法(完整版)
    packagecom.tuling.tulingmall.domain;importcom.tuling.tulingmall.model.UmsMember;importcom.tuling.tulingmall.model.UmsMemberLevel;importlombok.Data;@DatapublicclassPortalMemberInfoextendsUmsMember{privateUmsMemberLevelumsMemberLevel;......
  • QT 记Sqlite用法
    一、在.pro文件添加QT+=coreguisql二、头文件#include<QSqlDatabase>#include<QSqlError>#include<QSqlQuery> 三、用法1//以写的查询为例2QSqlDatabasedb=QSqlDatabase::addDatabase("QSQLITE");34db.setDatabaseNa......
  • QT 记串口的用法
    QSerialPort用法一、在.pro文件添加serialportQT+=coreguiserialport二、头文件#include<QSerialPort>#include<QSerialPortInfo>三、开启串口1voidWidget::on_pushButton_clicked()//自己写的按钮为例2{3QSerialPortInfoinfo;4QLis......
  • Kubernetes(k8s) 资源限制:resources,LimitRange,ResourceQuota
    目录一.系统环境二.前言三.Kubernetes资源限制简介四.创建没有资源限制的pod4.1创建没有资源限制的pod4.2内存消耗测试五.使用resources字段配置资源限制5.1限制最低内存5.2限制最低CPU5.3限制最低CPU和最高内存5.4内存消耗测试六.使用LimitRange限制资源范围七.同时使用Lim......
  • jq命令用法总结
    简介如果说要给Linux文本三剑客(grep、sed、awk)添加一员的话,我觉得应该是jq命令,因为jq命令是用来处理json数据的工具,而现如今json几乎无所不在!网上的jq命令分享文章也不少,但大多介绍得非常浅,jq的强大之处完全没有介绍出来,所以就有了这篇文章,安利一下jq这个命令。基本用法格式......