欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

最好用例子來解釋一下。 這個(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)于屬性的信息請?jiān)L問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)文章

  • Python列表(list)所有元素的同一操作解析

    Python列表(list)所有元素的同一操作解析

    這篇文章主要介紹了Python列表(list)所有元素的同一操作解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • 使用Pycharm創(chuàng)建一個(gè)Django項(xiàng)目的超詳細(xì)圖文教程

    使用Pycharm創(chuàng)建一個(gè)Django項(xiàng)目的超詳細(xì)圖文教程

    Django是比較經(jīng)典的Python web框架,最近剛好在項(xiàng)目中用到了Django,所以下面這篇文章主要給大家介紹了關(guān)于使用Pycharm創(chuàng)建一個(gè)Django項(xiàng)目的超詳細(xì)圖文教程,文中介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • numpy.random.shuffle打亂順序函數(shù)的實(shí)現(xiàn)

    numpy.random.shuffle打亂順序函數(shù)的實(shí)現(xiàn)

    這篇文章主要介紹了numpy.random.shuffle打亂順序函數(shù)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • python3.6使用pymysql連接Mysql數(shù)據(jù)庫

    python3.6使用pymysql連接Mysql數(shù)據(jù)庫

    這篇文章主要為大家詳細(xì)介紹了python3.6使用pymysql連接Mysql數(shù)據(jù)庫,以及簡單的增刪改查操作,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • python實(shí)現(xiàn)圖片轉(zhuǎn)字符畫的完整代碼

    python實(shí)現(xiàn)圖片轉(zhuǎn)字符畫的完整代碼

    這篇文章主要給大家介紹了關(guān)于python實(shí)現(xiàn)圖片轉(zhuǎn)字符畫的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Python的裝飾器用法學(xué)習(xí)筆記

    Python的裝飾器用法學(xué)習(xí)筆記

    這篇文章主要介紹了Python的裝飾器用法學(xué)習(xí)筆記,裝飾器的使用是Python編程中的高級技巧,需要的朋友可以參考下
    2016-06-06
  • 用Pelican搭建一個(gè)極簡靜態(tài)博客系統(tǒng)過程解析

    用Pelican搭建一個(gè)極簡靜態(tài)博客系統(tǒng)過程解析

    這篇文章主要介紹了用Pelican搭建一個(gè)極簡靜態(tài)博客系統(tǒng)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Python3中類、模塊、錯(cuò)誤與異常、文件的簡易教程

    Python3中類、模塊、錯(cuò)誤與異常、文件的簡易教程

    這篇文章主要給大家介紹了關(guān)于Python3中類、模塊、錯(cuò)誤與異常、文件的相關(guān)教程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-11-11
  • python實(shí)現(xiàn)函數(shù)極小值

    python實(shí)現(xiàn)函數(shù)極小值

    今天小編就為大家分享一篇python實(shí)現(xiàn)函數(shù)極小值,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python辦公自動(dòng)化解決world文件批量轉(zhuǎn)換

    Python辦公自動(dòng)化解決world文件批量轉(zhuǎn)換

    本文分享如何用 Python 來讀取 Word、寫入 Word、將 Word 轉(zhuǎn)換為 pdf。學(xué)會(huì)之后,如果遇到大量 Word 文件需要處理的時(shí)候,就不慌了
    2021-09-09

最新評論