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

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

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

瀏覽:32日期: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久久,三上悠亚国产精品一区二区三区
久久免费高清| 黄毛片在线观看| 日韩影院二区| 视频福利一区| 黄色日韩在线| 免费成人在线影院| 91九色综合| 一本色道久久精品| 午夜宅男久久久| 亚洲精品在线国产| 色婷婷成人网| 国产精品中文字幕制服诱惑| 久久久久久久久成人| 欧美国产日韩电影| 国产精品九九| 中文在线免费视频| 婷婷久久一区| 日韩一区二区三区在线看| 国产乱码精品一区二区三区亚洲人| 老司机免费视频一区二区| 老司机精品视频在线播放| 国产一区调教| 欧美亚洲日本精品| 精品欧美久久| 偷拍亚洲精品| 日韩综合在线| 久久国产精品久久w女人spa| 日韩高清不卡一区二区| 久久久久亚洲精品中文字幕| 久久精品影视| 日韩极品在线观看| 韩国一区二区三区视频| 韩日一区二区三区| 97精品资源在线观看| 国产成人免费| 日韩午夜在线| 国产精品v一区二区三区| 色乱码一区二区三区网站| 欧美日韩一二三四| 欧美一区激情| 欧美日中文字幕| 国产日韩精品视频一区二区三区| 91精品xxx在线观看| 日韩精品三级| 婷婷成人在线| 久久av电影| 模特精品在线| 丁香六月综合| 日本不卡在线视频| 亚洲v在线看| 国产精品尤物| 亚洲欧美日韩综合国产aⅴ| 久久精品99国产精品| 久久婷婷av| 国产精品中文| 视频一区二区三区在线| 精品一区视频| 免费一级片91| 久久久久久久久丰满| 国产毛片精品| 午夜一区在线| 成人欧美一区二区三区的电影| 日韩中文av| 合欧美一区二区三区| 国产一区二区三区天码| 亚洲一区二区三区四区电影| 日韩国产一区二区| 日韩一区精品| 午夜av一区| 中文在线а√天堂| 日韩国产欧美三级| 91久久黄色| 1000部精品久久久久久久久| 国产精品成人a在线观看| 久久九九99| 国产一区二区三区不卡视频网站| 日韩av网站在线观看| 久热综合在线亚洲精品| 久久精品国内一区二区三区水蜜桃| 麻豆久久一区| 久久国内精品| 日韩高清在线观看一区二区| 久久精品二区三区| 国产夫妻在线| 伊人网在线播放| 免费看av不卡| 波多视频一区| 天堂中文av在线资源库| 狠狠久久伊人| 国产一区二区三区天码| 久久精品国产久精国产| 国产日韩一区| 国产乱论精品| 国产精品亚洲一区二区在线观看| 亚洲毛片在线免费| 丝袜诱惑制服诱惑色一区在线观看 | 九九久久电影| 久久蜜桃av| www在线观看黄色| 国产精品密蕾丝视频下载| 日韩精品一级二级| 欧美精品一二| 久久精品91| 欧美成a人免费观看久久| 精品国产一区二区三区av片| 亚洲精品国产偷自在线观看| 国产免费av国片精品草莓男男| 免费在线观看一区二区三区| 亚洲婷婷免费| 日本精品影院| 日本综合字幕| 日韩不卡在线| 五月激情久久| 亚洲伦乱视频| 日韩一区自拍| 精品一区不卡| 一本大道色婷婷在线| 精品网站999| 美女久久久久久| 麻豆一区二区三| 国产视频一区二| 一二三区精品| 91久久亚洲| 日韩成人精品一区二区三区| 日韩在线观看中文字幕| 中文无码久久精品| 亚洲精品免费观看| 首页亚洲欧美制服丝腿| 日韩一区二区久久| 美女精品在线观看| 88久久精品| 日韩高清国产一区在线| 欧美精品福利| 麻豆一区二区99久久久久| 久久伊人国产| 国产极品模特精品一二| 精品中文字幕一区二区三区 | 国产精品红桃| 麻豆国产91在线播放| 丁香婷婷久久| 国产 日韩 欧美一区| 秋霞国产精品| 一本一本久久| 欧美日韩亚洲一区| 红杏一区二区三区| 欧美日韩精品一区二区视频| 97视频热人人精品免费| 天堂久久av| 国产va免费精品观看精品视频| 美女福利一区二区三区| 欧美成人精品| 亚洲一区二区小说| 国产午夜久久av| 国产在线看片免费视频在线观看| 国产传媒av在线| 中文字幕成人| 国产欧美日韩影院| 中文在线中文资源| 亚洲一区二区三区四区五区午夜| 亚洲一区导航| 国产精品亚洲四区在线观看| 国产一卡不卡| 国产精品国产一区| 欧美日韩一区二区三区视频播放| 国产亚洲亚洲| 国产精品视频一区二区三区四蜜臂 | 国产精品三p一区二区| 久久精品国产99国产精品| 婷婷综合社区| 香蕉久久国产| 福利片在线一区二区| 亚洲一区二区三区高清| 欧美黄页在线免费观看| 另类中文字幕国产精品| 首页欧美精品中文字幕| 91精品啪在线观看国产爱臀| 少妇久久久久| 青青国产91久久久久久| 欧美日韩免费观看视频| 日韩精选在线| 国产 日韩 欧美一区| 欧美视频二区| 免费美女久久99| www.com.cn成人| 91综合久久爱com| 99精品综合| 青青伊人久久| 91精品一区二区三区综合| 蜜桃传媒麻豆第一区在线观看| 国产精品久久久久久妇女| 久久久久一区| 国产精选久久| 国产毛片久久| 麻豆理论在线观看| 久久国产精品免费精品3p| 亚洲va中文在线播放免费| 亚洲2区在线| 欧美成人精品三级网站| 国产欧美一区二区精品久久久 | 国产精品宾馆|