电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

django序列化時使用外鍵的真實值操作

瀏覽:2日期:2024-09-25 15:34:22

展示:

一般情況下序列化得到的外鍵的內容只是id:

...{ fields: { uat_date: '2015-07-25', statu: 'CG', name: '慢贏優化', tester: [ 1 ], product_manager: 1, module: [ 2, 3 ], project: 1, plan_version: 1, publish_date: '2015-07-25', actual_version: 1, type: 'XQ', developer: [ 1 ] }, model: 'amazingTable.content', pk: 1}...

序列化時得到外鍵的真實值:

...{ fields: { uat_date: '2015-07-25', statu: 'CG', name: '慢贏優化', tester: [ [ 'kevin' ] ], product_manager: [ 'kevin' ], module: [ [ 'closewebbus', '我是描述' ], [ 'xckhapp', '我是描述' ] ], project: 1, plan_version: 1, publish_date: '2015-07-25', actual_version: 1, type: 'XQ', developer: [ [ 'kevin' ] ] }, model: 'amazingTable.content', pk: 1}...

方法:

我序列化的是Content表,它含有一個外鍵關聯的是Module表,1對多

我要先序列化Module表,然后序列化Content表的時候才可以使用到Module的真實值

class ModuleManager(models.Manager): def get_by_natural_key(self, name, description): return self.get(name = name, description = description)class Module(models.Model): objects = ModuleManager() name = models.CharField(max_length=100, unique=True) description = models.CharField(max_length=100, blank=True, null=True) # natual_key的序列化 def natural_key(self): return (self.name, self.description) # natual_keys的解序列化 class Meta: unique_together = ((’name’, ’description’),)

序列化是否使用真實值:

jsons = serializers.serialize(’json’, queryset,use_natural_foreign_keys=False)

jsons = serializers.serialize(’json’, queryset,use_natural_foreign_keys=True)

附:

如果要給Content表序列化,那么要使用到外鍵的actual_key,要保證外鍵先序列化,如下依賴:

class Content(models.Model): name = models.CharField(max_length=100) ... module = models.ManyToManyField(’Module’) def natural_key(self): return (self.name,) + self.module.natural_key() # 和'def'同縮進 natural_key.dependencies = [’example_app.module’]

補充知識:django原生的序列化serialize解析

在寫接口的時候,大家都離不開對query結果集的序列化

嗯嗯嗯,一般我們都有DRF里面的序列化工具,但是django原生的serialize你們有

用過嗎?????????????

上代碼:

from django.core.serializers import serializeclass Test(APIView): def get(self,request): origin_data = Test.objects.all() serialized_data = serialize(’json’,origin_data) return HttpResponse(serialized_data )

當然,再有更便捷的工具的情況下,這種方法并不常用

在有特定需要的時候,使用這種django原生序列化,還是十分方便的

以上這篇django序列化時使用外鍵的真實值操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Django
相關文章:
主站蜘蛛池模板: 能量回馈_制动单元_电梯节能_能耗制动_深圳市合兴加能科技有限公司 | 空气能暖气片,暖气片厂家,山东暖气片,临沂暖气片-临沂永超暖通设备有限公司 | 东莞猎头公司_深圳猎头公司_广州猎头公司-广东万诚猎头提供企业中高端人才招聘服务 | 会议会展活动拍摄_年会庆典演出跟拍_摄影摄像直播-艾木传媒 | 深圳宣传片制作_产品视频制作_深圳3D动画制作公司_深圳短视频拍摄-深圳市西典映画传媒有限公司 | 不锈钢螺丝 - 六角螺丝厂家 - 不锈钢紧固件 - 万千紧固件--紧固件一站式采购 | 震动筛选机|震动分筛机|筛粉机|振筛机|振荡筛-振动筛分设备专业生产厂家高服机械 | 网站优化公司_SEO优化_北京关键词百度快速排名-智恒博网络 | 对照品_中药对照品_标准品_对照药材_「格利普」高纯中药标准品厂家-成都格利普生物科技有限公司 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库 | 深圳高新投三江工业消防解决方案提供厂家_服务商_园区智慧消防_储能消防解决方案服务商_高新投三江 | 能量回馈_制动单元_电梯节能_能耗制动_深圳市合兴加能科技有限公司 | 搜木网 - 木业全产业链交易平台,免费搜货、低价买货! | 工业机械三维动画制作 环保设备原理三维演示动画 自动化装配产线三维动画制作公司-南京燃动数字 聚合氯化铝_喷雾聚氯化铝_聚合氯化铝铁厂家_郑州亿升化工有限公司 | 缠绕机|缠绕膜包装机|缠绕包装机-上海晏陵智能设备有限公司 | 电缆接头_防水接头_电缆防水接头_防水电缆接头_上海闵彬 | 柔性测斜仪_滑动测斜仪-广州杰芯科技有限公司 | 交通信号灯生产厂家_红绿灯厂家_电子警察监控杆_标志杆厂家-沃霖电子科技 | 锂辉石检测仪器,水泥成分快速分析仪-湘潭宇科分析仪器有限公司 | 建筑资质代办_工程施工资质办理_资质代办公司_北京众聚企服 | 珠宝展柜-玻璃精品展柜-首饰珠宝展示柜定制-鸿钛展柜厂家 | 锂电叉车,电动叉车_厂家-山东博峻智能科技有限公司 | 数控走心机-走心机价格-双主轴走心机-宝宇百科 | 山东led显示屏,山东led全彩显示屏,山东LED小间距屏,临沂全彩电子屏-山东亚泰视讯传媒有限公司 | 浙江华锤电器有限公司_地磅称重设备_防作弊地磅_浙江地磅售后维修_无人值守扫码过磅系统_浙江源头地磅厂家_浙江工厂直营地磅 | 压滤机滤板_厢式_隔膜_板框压滤机滤板厂家价格型号材质-大凯环保 | 我车网|我关心的汽车资讯_汽车图片_汽车生活! | 蒸汽热收缩机_蒸汽发生器_塑封机_包膜机_封切收缩机_热收缩包装机_真空机_全自动打包机_捆扎机_封箱机-东莞市中堡智能科技有限公司 | 磁力抛光研磨机_超声波清洗机厂家_去毛刺设备-中锐达数控 | 破碎机锤头_耐磨锤头_合金锤头-鼎成机械一站式耐磨铸件定制服务 微型驱动系统解决方案-深圳市兆威机电股份有限公司 | 红立方品牌应急包/急救包加盟,小成本好项目代理_应急/消防/户外用品加盟_应急好项目加盟_新奇特项目招商 - 中红方宁(北京) 供应链有限公司 | 耐火浇注料价格-高强高铝-刚玉碳化硅耐磨浇注料厂家【直销】 | 金环宇|金环宇电线|金环宇电缆|金环宇电线电缆|深圳市金环宇电线电缆有限公司|金环宇电缆集团 | 抖音短视频运营_企业网站建设_网络推广_全网自媒体营销-东莞市凌天信息科技有限公司 | 湖南印刷厂|长沙印刷公司|画册印刷|挂历印刷|台历印刷|杂志印刷-乐成印刷 | 家德利门业,家居安全门,别墅大门 - 安徽家德利门业有限公司 | Q361F全焊接球阀,200X减压稳压阀,ZJHP气动单座调节阀-上海戎钛 | 舞台木地板厂家_体育运动木地板_室内篮球馆木地板_实木运动地板厂家_欧氏篮球地板推荐 | 考试试题_试卷及答案_诗词单词成语 - 优易学 | 小区健身器材_户外健身器材_室外健身器材_公园健身路径-沧州浩然体育器材有限公司 | 膜结构车棚|上海膜结构车棚|上海车棚厂家|上海膜结构公司 | 橡胶接头_橡胶软接头_可曲挠橡胶接头-巩义市创伟机械制造有限公司 |