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

Django模型中字段屬性choice使用說明

 更新時間:2020年03月30日 14:16:20   作者:lzw2016  
這篇文章主要介紹了Django模型中字段屬性choice使用說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

今天設(shè)計models時,用到了choice這個屬性,用來限制用戶做出選擇的范圍。比如說性別的選擇(男或女)。

class User(AbstractUser):
  。。。
  sex = models.CharField(verbose_name='性別',max_length=5,choices=(('male','男'),('female','女')),default='male')

choice接收一個元組(保證值不可變),同理每一個選項(xiàng)也是由一個元組(value,display_name)構(gòu)成。顯而易見,display_name就是要在頁面中展示的。

如何取到value和displayname?

比如說實(shí)例一個User對象user,則如示user.sex = value,user.get_sex_display() = display_name,通過屬性取value,通過 get_屬性_display()方法取display_name。

在模板中可以通過模板語言 {{ user.sex }}很簡單地顯示value,但不能直接調(diào)用 get_屬性_display()方法(模板畢竟是模板語言)

只能自定義過濾器,順便提一句django中是不能直接調(diào)用函數(shù)的,可以通過自定義filter來實(shí)現(xiàn)(template_filters.py)

@register.filter(name='displayName')
def displayName(value, arg):
  return eval('value.get_'+arg+'_display()')#eval字符串方法了解一下

模板中使用{{ user|displayName:'sex'}} 就OK(user是傳入的變量)。

補(bǔ)充知識:django中choices字段獲取對應(yīng)字段值

如下所示:

class Area(models.Model):
  Area_Level = (
     (0, u'全國'),
     (1, u'省、直轄市'),
     (2, u'市、直轄市區(qū)'),
     (3, u'區(qū)、縣等'),
  )
areaname = models.CharField(max_length=30,unique=True, verbose_name='區(qū)域名稱')
code = models.CharField(max_length=20,blank=True, default="", verbose_name='區(qū)域代碼')
parentid = models.IntegerField(verbose_name='父級id', null=True)
level = models.IntegerField(choices=Area_Level,verbose_name='層級', null=True)

object.get_level_display()

以上這篇Django模型中字段屬性choice使用說明就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python獲取當(dāng)前時間對應(yīng)unix時間戳的方法

    python獲取當(dāng)前時間對應(yīng)unix時間戳的方法

    這篇文章主要介紹了python獲取當(dāng)前時間對應(yīng)unix時間戳的方法,涉及Python時間操作的相關(guān)技巧,非常簡單實(shí)用,需要的朋友可以參考下
    2015-05-05
  • 導(dǎo)入pytorch時libmkl_intel_lp64.so找不到問題解決

    導(dǎo)入pytorch時libmkl_intel_lp64.so找不到問題解決

    這篇文章主要為大家介紹了導(dǎo)入pytorch時libmkl_intel_lp64.so找不到問題解決示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Pygame Rect區(qū)域位置的使用(圖文)

    Pygame Rect區(qū)域位置的使用(圖文)

    在 Pygame 中我們使用 Rect() 方法來創(chuàng)建一個指定位置,大小的矩形區(qū)域。本文主要就來介紹一下如何使用,具有一定的參考價值,感興趣的可以了解一下
    2021-11-11
  • OpenCV清除小面積連通域的實(shí)現(xiàn)方法

    OpenCV清除小面積連通域的實(shí)現(xiàn)方法

    本文主要介紹了OpenCV清除小面積連通域的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • python實(shí)現(xiàn)多進(jìn)程代碼示例

    python實(shí)現(xiàn)多進(jìn)程代碼示例

    Python中大部分情況下都需要使用多進(jìn)程,Python中提供了multiprocessing這個包實(shí)現(xiàn)多進(jìn)程。multiprocessing支持子進(jìn)程、進(jìn)程間的同步與通信,本文就詳細(xì)的介紹一下
    2018-10-10
  • 巧妙使用Python裝飾器處理if...elif...else

    巧妙使用Python裝飾器處理if...elif...else

    大家好,今天在 Github 閱讀 EdgeDB[1] 的代碼,發(fā)現(xiàn)它在處理大量if…elif…else的時候,巧妙地使用了裝飾器,方法設(shè)計精巧,分享給大家一下,歡迎收藏學(xué)習(xí),喜歡點(diǎn)贊支持
    2021-11-11
  • Python中反轉(zhuǎn)二維數(shù)組的行和列問題

    Python中反轉(zhuǎn)二維數(shù)組的行和列問題

    這篇文章主要介紹了Python中反轉(zhuǎn)二維數(shù)組的行和列問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Python日志打印里logging.getLogger源碼分析詳解

    Python日志打印里logging.getLogger源碼分析詳解

    在本篇文章里小編給大家整理的是一篇關(guān)于Python logging.getLogger源碼分析的相關(guān)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)參考下。
    2021-01-01
  • Python編程密碼學(xué)文件加密與解密代碼解析

    Python編程密碼學(xué)文件加密與解密代碼解析

    這篇文章主要為大家介紹了Python編程密碼學(xué)文件加密與解密,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • python3如何去除字符串中的特殊字符

    python3如何去除字符串中的特殊字符

    這篇文章主要介紹了python3如何去除字符串中的特殊字符,在平時處理字符串的時候,經(jīng)常會遇到字符串中夾雜著我們不希望看到的特殊字符,那么如何處理這些特殊字符呢,今天就跟著小編來看看吧
    2023-04-04

最新評論

金溪县| 滕州市| 兴山县| 游戏| 佛坪县| 武邑县| 邯郸县| 交口县| 繁昌县| 杨浦区| 灯塔市| 南澳县| 永顺县| 平邑县| 体育| 海晏县| 新沂市| 阿坝县| 色达县| 罗源县| 运城市| 西安市| 新郑市| 龙泉市| 平乡县| 革吉县| 驻马店市| 桃源县| 乐业县| 连州市| 文成县| 石家庄市| 天峻县| 天等县| 兴文县| 佳木斯市| 遂宁市| 庆云县| 汾阳市| 宁安市| 白玉县|