最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2020年05月20日 16:36:19   作者:陌生誰家年少  
這篇文章主要介紹了django 解決自定義序列化返回處理數(shù)據(jù)為null的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

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

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

1.未處理時返回

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

2.to_representation處理

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

from rest_framework import serializers
from .models import UserInfo

class 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 query查詢正常,返回對象為空QuerySet

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

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

問題現(xiàn)象:

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

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

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

解決問題:

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

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

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

相關(guān)文章

  • python中update的基本使用方法詳解

    python中update的基本使用方法詳解

    這篇文章主要介紹了python中update的基本使用方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • 解決Numpy報錯:ImportError: numpy.core.multiarray failed

    解決Numpy報錯:ImportError: numpy.core.multiarray faile

    這篇文章主要介紹了解決Numpy報錯:ImportError: numpy.core.multiarray failed問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Python Unittest ddt數(shù)據(jù)驅(qū)動的實現(xiàn)

    Python Unittest ddt數(shù)據(jù)驅(qū)動的實現(xiàn)

    本文主要介紹了Python Unittest ddt數(shù)據(jù)驅(qū)動的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Keras Convolution1D與Convolution2D區(qū)別說明

    Keras Convolution1D與Convolution2D區(qū)別說明

    這篇文章主要介紹了Keras Convolution1D與Convolution2D區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • 淺談python jieba分詞模塊的基本用法

    淺談python jieba分詞模塊的基本用法

    本篇文章主要介紹了淺談python jieba分詞模塊的基本用法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • scrapy在python爬蟲中搭建出錯的解決方法

    scrapy在python爬蟲中搭建出錯的解決方法

    在本篇文章里小編給大家整理了一篇關(guān)于scrapy在python爬蟲中搭建出錯的解決方法,有需要的朋友們可以學(xué)習(xí)參考下。
    2020-11-11
  • Python協(xié)程實踐分享

    Python協(xié)程實踐分享

    這篇文章主要分享的是Python協(xié)程實踐,協(xié)程簡單來說就是一個更加輕量級的線程,并且不由操作系統(tǒng)內(nèi)核管理,完全由程序所控制,下文相關(guān)介紹需要的朋友可以參考一下
    2022-05-05
  • Python中使用scapy模擬數(shù)據(jù)包實現(xiàn)arp攻擊、dns放大攻擊例子

    Python中使用scapy模擬數(shù)據(jù)包實現(xiàn)arp攻擊、dns放大攻擊例子

    這篇文章主要介紹了Python中使用scapy模擬數(shù)據(jù)包實現(xiàn)arp攻擊、dns放大攻擊例子,本文重點在于scapy有使用上,需要的朋友可以參考下
    2014-10-10
  • 基于Python+Pyqt5開發(fā)一個應(yīng)用程序

    基于Python+Pyqt5開發(fā)一個應(yīng)用程序

    今天給大家?guī)淼氖顷P(guān)于Python的相關(guān)知識,文章圍繞著Python+Pyqt5開發(fā)一個應(yīng)用程序展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Python多線程編程(七):使用Condition實現(xiàn)復(fù)雜同步

    Python多線程編程(七):使用Condition實現(xiàn)復(fù)雜同步

    這篇文章主要介紹了Python多線程編程(七):使用Condition實現(xiàn)復(fù)雜同步,本文講解通過很著名的“生產(chǎn)者-消費者”模型來來演示在Python中使用Condition實現(xiàn)復(fù)雜同步,需要的朋友可以參考下
    2015-04-04

最新評論

科尔| 海兴县| 洪江市| 武隆县| 吉首市| 天柱县| 临沭县| 广州市| 德阳市| 奈曼旗| 天峻县| 宜兰县| 洱源县| 崇左市| 贵溪市| 黔东| 灵宝市| 永城市| 苏州市| 基隆市| 青神县| 红桥区| 上高县| 东丽区| 桃园县| 丰镇市| 上杭县| 信阳市| 诸城市| 利津县| 获嘉县| 安溪县| 仙居县| 阿荣旗| 阳山县| 阿拉善盟| 铁力市| 稷山县| 子洲县| 阳谷县| 元谋县|