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

在Django的模型中添加自定義方法的示例

 更新時(shí)間:2015年07月21日 11:23:41   投稿:goldensun  
這篇文章主要介紹了在Django的模型中添加自定義方法的示例,Django是Python豐富多彩的web開(kāi)發(fā)框架中最具人氣的一個(gè),需要的朋友可以參考下

為了給你的對(duì)像添加一個(gè)行級(jí)功能,那就定義一個(gè)自定義方法。 有鑒于manager經(jīng)常被用來(lái)用一些整表操作(table-wide),模型方法應(yīng)該只對(duì)特殊模型實(shí)例起作用。

這是一項(xiàng)在模型的一個(gè)地方集中業(yè)務(wù)邏輯的技術(shù)。

最好用例子來(lái)解釋一下。 這個(gè)模型有一些自定義方法:

from django.contrib.localflavor.us.models import USStateField
from django.db import models

class Person(models.Model):
  first_name = models.CharField(max_length=50)
  last_name = models.CharField(max_length=50)
  birth_date = models.DateField()
  address = models.CharField(max_length=100)
  city = models.CharField(max_length=50)
  state = USStateField() # Yes, this is U.S.-centric...

  def baby_boomer_status(self):
    "Returns the person's baby-boomer status."
    import datetime
    if datetime.date(1945, 8, 1) <= self.birth_date <= datetime.date(1964, 12, 31):
      return "Baby boomer"
    if self.birth_date < datetime.date(1945, 8, 1):
      return "Pre-boomer"
    return "Post-boomer"

  def is_midwestern(self):
    "Returns True if this person is from the Midwest."
    return self.state in ('IL', 'WI', 'MI', 'IN', 'OH', 'IA', 'MO')

  def _get_full_name(self):
    "Returns the person's full name."
    return u'%s %s' % (self.first_name, self.last_name)
  full_name = property(_get_full_name)

例子中的最后一個(gè)方法是一個(gè)property。 想了解更多關(guān)于屬性的信息請(qǐng)?jiān)L問(wèn)http://www.python.org/download/releases/2.2/descrintro/#property

這是用法的實(shí)例:

>>> p = Person.objects.get(first_name='Barack', last_name='Obama')
>>> p.birth_date
datetime.date(1961, 8, 4)
>>> p.baby_boomer_status()
'Baby boomer'
>>> p.is_midwestern()
True
>>> p.full_name # Note this isn't a method -- it's treated as an attribute
u'Barack Obama'

相關(guān)文章

  • Opencv Python實(shí)現(xiàn)兩幅圖像匹配

    Opencv Python實(shí)現(xiàn)兩幅圖像匹配

    這篇文章主要為大家詳細(xì)介紹了Opencv Python實(shí)現(xiàn)兩幅圖像匹配,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Python3.9最新版下載與安裝圖文教程詳解(Windows系統(tǒng)為例)

    Python3.9最新版下載與安裝圖文教程詳解(Windows系統(tǒng)為例)

    這篇文章主要介紹了Python3.9最新版下載與安裝圖文教程詳解,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • 詳解Python yaml模塊

    詳解Python yaml模塊

    這篇文章主要介紹了Python yaml模塊的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-09-09
  • Python實(shí)現(xiàn)個(gè)人微信號(hào)自動(dòng)監(jiān)控告警的示例

    Python實(shí)現(xiàn)個(gè)人微信號(hào)自動(dòng)監(jiān)控告警的示例

    今天小編就為大家分享一篇Python實(shí)現(xiàn)個(gè)人微信號(hào)自動(dòng)監(jiān)控告警的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • python如何使用socketserver模塊實(shí)現(xiàn)并發(fā)聊天

    python如何使用socketserver模塊實(shí)現(xiàn)并發(fā)聊天

    這篇文章主要介紹了python如何使用socketserver模塊實(shí)現(xiàn)并發(fā)聊天,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • python 讀取豎線分隔符的文本方法

    python 讀取豎線分隔符的文本方法

    今天小編就為大家分享一篇python 讀取豎線分隔符的文本方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • pytest多線程與多設(shè)備并發(fā)appium

    pytest多線程與多設(shè)備并發(fā)appium

    這篇文章介紹了pytest多線程與多設(shè)備并發(fā)appium,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • 最新評(píng)論

    永城市| 阳山县| 新津县| 留坝县| 安顺市| 余干县| 和林格尔县| 大化| 旌德县| 永泰县| 潮州市| 阜新| 瓮安县| 巴林左旗| 北京市| 南充市| 循化| 黔江区| 义马市| 德安县| 盐山县| 新巴尔虎左旗| 丁青县| 股票| 德安县| 吉水县| 邛崃市| 濉溪县| 城市| 长阳| 盐津县| 河西区| 江油市| 临安市| 龙游县| 理塘县| 渝北区| 津市市| 宁国市| 宽甸| 清丰县|