亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

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

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

在接口返回數據時,如果數據庫表中查詢出來的某些字段為null時,在前端需要多處理一些數據異常的情況。

django可以自定義序列化返回處理,將返回的內容限制和預處理再返回到前端。

1.未處理時返回

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

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

2.to_representation處理

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

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 解決自定義序列化返回處理數據為null的問題

補充知識:Django query查詢正常,返回對象為空QuerySet

我出現這個錯誤的前提條件:

數據為導入的數據,并不是正常從前端添加入庫的。

問題現象:

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

控制臺debug發現 obj為QuerySet<[]>

拿著query到數據庫里執行sql ,還能查出數據,就是沒返回

解決問題:

查看數據庫字段是否符合models中定義的格式,如,是否有默認值,

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

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

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

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

標簽: Django
相關文章:
主站蜘蛛池模板: 成人爱爱网站在线观看 | 久香草视频在线观看免费 | 狠狠五月天中文字幕 | 欧美毛片aaa激情 | 成人精品视频在线 | 国产成人精品.一二区 | 国产色在线 | 亚洲 国产色在线com | 成视频年人黄网站免费视频 | 一区精品麻豆入口 | 久久国产精品久久国产精品 | 美女福利视频一区 | 免费av一区二区三区 | 亚洲人与牲动交xxxxbbbb | 免费无遮挡十八污污网站 | 中国一级淫片aaa毛片毛片 | 亚洲国产美女精品久久 | 国产亚洲精品激情一区二区三区 | 久久99国产亚洲精品观看 | 久草视频一区 | 欧美在线观看视频一区 | 俺来也俺来也天天夜夜视频 | 成人αv在线视频高清 | 看国产黄色片 | 青青操视频在线免费观看 | 在线观看网站国产 | 国产免费福利视频 | 国产精品综合色区在线观看 | 久久本道久久综合伊人 | 亚洲狼人香蕉香蕉在线28 | 成年女人在线观看 | 国产性较精品视频免费 | 免费毛片a线观看 | 国产片毛片 | 国产成人免费高清在线观看 | 日本伊人精品一区二区三区 | 99久久亚洲综合精品网站 | 亚洲第一成年免费网站 | 日韩亚洲欧美一区噜噜噜 | 自拍 亚洲 | 色片在线播放 | 日韩久久中文字幕 |