日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

讓Django的BooleanField支持字符串形式的輸入方式

瀏覽:34日期:2024-10-03 14:18:06

再Django中,你可以把字符串形式的數值賦值給IntegerField,然后Django會默認把字符串轉換成int。

但是BooleanField則不行,BooleanField只能接受True和False,或者0和1(BTW:在python中True即是1,False即是0)。

這對于很多網絡參數上傳的場景很不利,因為很多時候我們處于方便會將布爾型參數轉換成字符串形式來上傳。

一個典型的場景是在使用Swfit的Alamofire框架中的upload來上傳Multipartform時,由于form參數只能添加Data形式的參數,直接將Bool型轉化成Data會非常麻煩,帶來編碼類型的問題。

例如采用如下的方式進行轉化:

let dataToUpload = Data(bytes: boolVal, count: MemoryLayout<Bool>.size)

以這種形式上傳最后被django接收到時,這個字段的值會是'x00'(False)或者'x01'(True),導致編碼類型的錯誤。

所以一個較為方便的方法是將bool型變量轉化成字符串再上傳。

let toText = boolVal ? '1' : '0'form.append(toText.data(using: String.Encoding.utf8, allowLossyConversion: false)!, withName: key)

不過,這樣雖然避免了編碼問題,但是在后臺賦值時直接將這個字段賦給相應的BooleanField的話,會永遠是True(這是當然的,將字符串直接用bool()做強制類型轉換就會始終是True)。

一個妥協的辦法是現將得到的上傳的字符型字段轉換成Int,再賦值給BooleanField。

不過,這里要給大家介紹一種更加整潔,更加一勞永逸的辦法,就是我們來重定義BooleanField的行為,在為其復制時,自動將字符串以我們想要的規則轉換成Bool值。

代碼如下:

from django.db.models import BooleanField as _BooleanFieldclass BooleanField(_BooleanField): def get_prep_value(self, value):if value in ('0', 'false', 'False'): return Falseelif value in ('1', 'true', 'True'): return Trueelse: return super(BooleanField, self).get_prep_value(value)

其中get_prep_value這個函數會在Django準備把字段的值寫入數據庫時調用。

補充知識:Dajango xadmin 設置只讀字段,設置BooleanField類型在頁面中的顯示位置

class MachineInfoAdmin(admin.ModelAdmin):

def get_readonly_fields(self, request, obj=None): ''' 重新定義此函數,限制普通用戶所能修改的字段 ''' if request.user.is_superuser: self.readonly_fields = [] return self.readonly_fields readonly_fields = (’machine_ip’, ’status’, ’user’, ’machine_model’, ’cache’, ’cpu’, ’hard_disk’, ’machine_os’, ’idc’, ’machine_group’)

二,xadmin自定義字段設置排序

def identity(self,ext): return ext.user.get_types_display() identity.short_description=’身份’ # identity.admin_order_field = ’end_date’# 設置列表顯示字段list_display = [’name’, ’course_org’, ’detail’,’degree’,’learn_times’,’students’,’fav_nums’,’image’,’click_nums’,’add_time’]# 設置列表查詢字段search_field = [’name’, ’course_org’, ’detail’,’degree’,’learn_times’,’students’,’fav_nums’,’image’,’click_nums’]# 設置列表過濾字段list_filter = [’name’, ’course_org’, ’detail’,’degree’,’learn_times’,’students’,’fav_nums’,’image’,’click_nums’,’add_time’]# 設置顯示圖標model_icon = ’fa fa-check-square’ # 設置字段可以直接在列表頁修改 list_editable=[’desc’,’degree’]# 設置默認排序ordering=[’-click_nums’]# 設置詳情頁面只讀顯示readonly_fields=[’fav_nums’,’click_nums’]# 設置詳情頁面不顯示某個字段exclude=[’add_time’]#自動刷新列表頁面(秒數)refresh_times = [3,5]

三,設置BooleadnField 顯示和其他字段同列

1、

讓Django的BooleanField支持字符串形式的輸入方式

2、

讓Django的BooleanField支持字符串形式的輸入方式

以上這篇讓Django的BooleanField支持字符串形式的輸入方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Django
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
精品一二三区| 久久99影视| 久久国产直播| 日韩欧美看国产| 99久久九九| 国产精品日韩| 亚洲欧美日本国产| 你懂的亚洲视频| 九九精品调教| 丝袜脚交一区二区| 日本视频一区二区| 国产一区不卡| 亚洲女同中文字幕| 97久久亚洲| 波多野结衣久久精品| 激情偷拍久久| 中文在线日韩| 久久福利在线| 精品亚洲美女网站| 蜜臀a∨国产成人精品| 日韩av一区二区三区四区| 国产劲爆久久| 欧美色图国产精品| 亚洲日本欧美| 久久精品国产亚洲一区二区三区| 免费污视频在线一区| 成人三级高清视频在线看| 欧美日韩四区| 日韩精品中文字幕一区二区| 国产一区二区三区不卡视频网站| 日韩视频二区| 青青伊人久久| 999国产精品视频| 中文字幕成人| www.九色在线| 日韩精品成人在线观看| 91综合网人人| 免费在线观看视频一区| 精品精品国产三级a∨在线| 99视频一区| 国产一区二区三区四区| 在线精品福利| 樱桃视频成人在线观看| 亚洲精品福利| 日韩三区免费| 国产精品视频一区二区三区| 久久视频精品| 日本精品另类| 免费在线观看精品| 国产精品xxxav免费视频| 日韩免费高清| 蜜臀va亚洲va欧美va天堂| 久久精品 人人爱| 97国产精品| 日韩精品一二区| 久久免费福利| 黄色成人91| 日本免费新一区视频| 国产成人1区| 美女日韩在线中文字幕| 久久亚洲资源中文字| 午夜欧美在线| 国产精品亚洲综合色区韩国| zzzwww在线看片免费| 亚洲制服少妇| 欧美成人aaa| 一区免费在线| 国产欧美另类| 欧美日韩国产高清电影| 国产午夜久久av| 国产综合色产| 欧美黄色一区二区| 午夜在线精品| 国产精品毛片久久| 亚洲人成网77777色在线播放| 国产不卡精品| 亚洲人成亚洲精品| 亚洲大片在线| 日韩黄色免费网站| 九一精品国产| 精品理论电影在线| 日韩精品2区| 合欧美一区二区三区| 蘑菇福利视频一区播放| 久久av日韩| 亚洲三级在线| 国产精品日本| 蜜桃成人av| 麻豆国产在线| 视频精品一区二区| 国精品一区二区三区| 亚洲啊v在线免费视频| 伊人网在线播放| 日韩一二三区在线观看| 国产精品玖玖玖在线资源| 日本h片久久| 香蕉久久久久久久av网站| 亚洲最新无码中文字幕久久| 久久久国产精品入口麻豆| 日韩高清不卡一区| 日韩中文av| 亚洲伊人精品酒店| 久热综合在线亚洲精品| 日韩精品一区二区三区免费观影 | 日韩一区二区三区精品| 国产精品普通话对白| 欧美日韩免费观看一区=区三区| 美女少妇全过程你懂的久久| 欧美激情麻豆| 日韩视频一二区| 青青草伊人久久| 美女网站久久| 精品日韩一区| 国产精久久一区二区| 亚洲综合图色| 国产伦理久久久久久妇女| 99久久精品费精品国产| 久久精品一区二区三区中文字幕| 亚洲精品99| 天堂中文在线播放| av中文字幕在线观看第一页| 麻豆国产91在线播放| 欧美aa国产视频| 日韩国产欧美一区二区| 丰满少妇一区| 国产激情久久| 国产精品视频首页| 国产日产一区| 国产图片一区| 青草国产精品久久久久久| 一区二区三区网站| 婷婷综合五月| 蜜桃视频欧美| 欧美在线亚洲| 亚洲精品网址| 久久xxxx精品视频| 午夜在线精品偷拍| 亚洲精品在线二区| 日韩精品一区二区三区中文在线| 亚洲精品日本| 欧美视频久久| 久久超碰99| 国产成人精品999在线观看| 国产不卡精品| 久久久夜精品| 黑丝美女一区二区| 欧美日韩视频| 日韩影院在线观看| 午夜视频一区二区在线观看| 日韩不卡在线观看日韩不卡视频| 国产欧美日韩视频在线 | 欧美va天堂| 美女亚洲一区| 国产精品三p一区二区| 美女国产精品| 亚洲韩日在线| 亚洲经典在线| 蜜桃久久久久久| 日韩不卡在线观看日韩不卡视频| 日韩毛片网站| 日本高清久久| 久久免费精品| 日韩一区二区中文| 激情综合激情| 欧美精品97| 日韩一区自拍| 最新亚洲激情| 日韩视频一二区| 成人午夜网址| 亚洲欧洲午夜| 日韩高清不卡一区| 日韩av片子| 亚洲欧美久久| 久久丁香四色| 欧美精品一二| 天堂俺去俺来也www久久婷婷| 美女视频网站久久| 国精品一区二区三区| 日欧美一区二区| 理论片午夜视频在线观看| 久久亚洲色图| 精品国产精品国产偷麻豆| 999在线观看精品免费不卡网站| 日本视频一区二区| 国产综合色区在线观看| 亚洲影院天堂中文av色| 超碰成人av| 日本va欧美va欧美va精品| 99久久久国产精品美女| 久久精品 人人爱| 日韩在线不卡| 亚洲精品99| 国产精品入口久久| 99久久精品网| 国产精品igao视频网网址不卡日韩| 欧美成人a交片免费看| 日韩精品乱码av一区二区| 久久久免费人体| 亚洲美洲欧洲综合国产一区 | 日韩一区精品视频|