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

您的位置:首頁技術(shù)文章
文章詳情頁

django 解決自定義序列化返回處理數(shù)據(jù)為null的問題

瀏覽:6日期:2024-10-02 10:09:06

在接口返回?cái)?shù)據(jù)時(shí),如果數(shù)據(jù)庫表中查詢出來的某些字段為null時(shí),在前端需要多處理一些數(shù)據(jù)異常的情況。

django可以自定義序列化返回處理,將返回的內(nèi)容限制和預(yù)處理再返回到前端。

1.未處理時(shí)返回

django 解決自定義序列化返回處理數(shù)據(jù)為null的問題

如圖上,有email、mobile這兩個(gè)字段是有可以為空且默認(rèn)值為null的。

2.to_representation處理

在模型序列化類增加, to_representation方法,以自定義數(shù)據(jù)處理限制

from rest_framework import serializersfrom .models import UserInfoclass UserInfoSerializer(serializers.ModelSerializer): class Meta: model = UserInfo # fields = ’__all__’ fields = ( ’id’, ’email’, ’date_create’, ’mobile’, ’email’, ’notice_voice’, ’notice_email’, ’notice_sms’, ’notice_push’) def to_representation(self, instance): data = super().to_representation(instance) if not data[’email’]: data[’email’] = '' if not data[’mobile’]: data[’mobile’] = '' return data

3.處理后前端獲取

django 解決自定義序列化返回處理數(shù)據(jù)為null的問題

補(bǔ)充知識(shí):Django query查詢正常,返回對象為空QuerySet

我出現(xiàn)這個(gè)錯(cuò)誤的前提條件:

數(shù)據(jù)為導(dǎo)入的數(shù)據(jù),并不是正常從前端添加入庫的。

問題現(xiàn)象:

views里獲取數(shù)據(jù)庫查詢對象集合 obj= models.表名.objects.filter(**kwargs)

控制臺(tái)debug發(fā)現(xiàn) obj為QuerySet<[]>

拿著query到數(shù)據(jù)庫里執(zhí)行sql ,還能查出數(shù)據(jù),就是沒返回

解決問題:

查看數(shù)據(jù)庫字段是否符合models中定義的格式,如,是否有默認(rèn)值,

django 解決自定義序列化返回處理數(shù)據(jù)為null的問題

django 解決自定義序列化返回處理數(shù)據(jù)為null的問題

將數(shù)據(jù)庫為空字段修改成和models一樣的,有個(gè)快速比對的方法,從前端向數(shù)據(jù)庫添加一條數(shù)據(jù),拿這個(gè)正式數(shù)據(jù)和導(dǎo)入數(shù)據(jù)做比對,哪里不一樣,修改哪里即可。

以上這篇django 解決自定義序列化返回處理數(shù)據(jù)為null的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Django
相關(guān)文章:
主站蜘蛛池模板: 台式核磁共振仪,玻璃软化点测定仪,旋转高温粘度计,测温锥和测温块-上海麟文仪器 | 制丸机,小型中药制丸机,全自动制丸机价格-甘肃恒跃制药设备有限公司 | 罐体电伴热工程-消防管道电伴热带厂家-山东沃安电气 | 金属清洗剂,防锈油,切削液,磨削液-青岛朗力防锈材料有限公司 | 皮带机-带式输送机价格-固定式胶带机生产厂家-河南坤威机械 | 三板富 | 专注于新三板的第一垂直服务平台 | 布袋除尘器-单机除尘器-脉冲除尘器-泊头市兴天环保设备有限公司 布袋除尘器|除尘器设备|除尘布袋|除尘设备_诺和环保设备 | 石油/泥浆/不锈钢防腐/砂泵/抽砂泵/砂砾泵/吸砂泵/压滤机泵 - 专业石油环保专用泵厂家 | 无压烧结银_有压烧结银_导电银胶_导电油墨_导电胶-善仁(浙江)新材料 | 北京网站建设首页,做网站选【优站网】,专注北京网站建设,北京网站推广,天津网站建设,天津网站推广,小程序,手机APP的开发。 | 冷藏车-东风吸污车-纯电动环卫车-污水净化车-应急特勤保障车-程力专汽厂家-程力专用汽车股份有限公司销售二十一分公司 | 北京发电机出租_发电机租赁_北京发电机维修 - 河北腾伦发电机出租 | 珠海白蚁防治_珠海灭鼠_珠海杀虫灭鼠_珠海灭蟑螂_珠海酒店消杀_珠海工厂杀虫灭鼠_立净虫控防治服务有限公司 | 北京普辉律师事务所官网_北京律师24小时免费咨询|法律咨询 | 广州番禺搬家公司_天河黄埔搬家公司_企业工厂搬迁_日式搬家_广州搬家公司_厚道搬迁搬家公司 | 钢制暖气片散热器_天津钢制暖气片_卡麦罗散热器厂家 | 珠海白蚁防治_珠海灭鼠_珠海杀虫灭鼠_珠海灭蟑螂_珠海酒店消杀_珠海工厂杀虫灭鼠_立净虫控防治服务有限公司 | 超声骨密度仪-骨密度检测仪-经颅多普勒-tcd仪_南京科进实业有限公司 | 影视模板素材_原创专业影视实拍视频素材-8k像素素材网 | 托盘租赁_塑料托盘租赁_托盘出租_栈板出租_青岛托盘租赁-优胜必达 | 浙江建筑资质代办_二级房建_市政_电力_安许_劳务资质办理公司 | PVC地板|PVC塑胶地板|PVC地板厂家|地板胶|防静电地板-无锡腾方装饰材料有限公司-咨询热线:4008-798-128 | 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | 立式_复合式_壁挂式智能化电伴热洗眼器-上海达傲洗眼器生产厂家 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 长沙广告公司|长沙广告制作设计|长沙led灯箱招牌制作找望城湖南锦蓝广告装饰工程有限公司 | TTCMS自助建站_网站建设_自助建站_免费网站_免费建站_天天向上旗下品牌 | 珠宝展柜-玻璃精品展柜-首饰珠宝展示柜定制-鸿钛展柜厂家 | 包塑软管|金属软管|包塑金属软管-闵彬管业 | 无尘烘箱_洁净烤箱_真空无氧烤箱_半导体烤箱_电子防潮柜-深圳市怡和兴机电 | 双工位钻铣攻牙机-转换工作台钻攻中心-钻铣攻牙机一体机-浙江利硕自动化设备有限公司 | 云南标线|昆明划线|道路标线|交通标线-就选云南云路施工公司-云南云路科技有限公司 | 自动记录数据电子台秤,记忆储存重量电子桌称,设定时间记录电子秤-昆山巨天 | 衡阳耐适防护科技有限公司——威仕盾焊接防护用品官网/焊工手套/焊接防护服/皮革防护手套 | 【ph计】|在线ph计|工业ph计|ph计厂家|ph计价格|酸度计生产厂家_武汉吉尔德科技有限公司 | 杭州货架订做_组合货架公司_货位式货架_贯通式_重型仓储_工厂货架_货架销售厂家_杭州永诚货架有限公司 | 千斤顶,液压千斤顶-力良企业,专业的液压千斤顶制造商,shliliang.com | 马尔表面粗糙度仪-MAHR-T500Hommel-Mitutoyo粗糙度仪-笃挚仪器 | 防爆大气采样器-防爆粉尘采样器-金属粉尘及其化合物采样器-首页|盐城银河科技有限公司 | LED显示屏_LED屏方案设计精准报价专业安装丨四川诺显科技 | 黄石妇科医院_黄石东方女子医院_黄石东方妇产医院怎么样 | 烟雾净化器-滤筒除尘器-防爆除尘器-除尘器厂家-东莞执信环保科技有限公司 |