2009-12-16 65 views
2

有返回布爾值模型上的方法,你可以將它們標記爲布爾所以管理員的列表顯示顯示漂亮的圖標,這樣example from the docs顯示日期很好地在Django的管理界面

class Person(models.Model): 
    birthday = models.DateField() 

    def born_in_fifties(self): 
     return self.birthday.strftime('%Y')[:3] == '195' 
    born_in_fifties.boolean = True 

如果模型有一個DateTimeField,那麼它會在列表顯示中得到很好的格式。

但是,如果我在返回datetime的模型上有一個方法,它會以yyyy-mm-dd值顯示在列表顯示中(例如2010-03-16),這對於讀。

是否有一些內置的方法將方法標記爲返回datetime,類似於返回布爾值的方法?

回答

2

好了,你就不能使用:

from django.utils.dateformat import * 
class Person(models.Model): 
    birthday = models.DateField() 
    ... 

    def format_birthday(self): 
     return format(self.birthday, "D d M Y") 

對於什麼是值得:未經測試。它是否從內存中...


PS。如果你想在那裏添加一些HTML,你需要做的就是這樣的:

def format_birthday(self): 
    return "<b>%s</b>" % format(self.birthday, "D d M Y") 
format_birthday.allow_tags = True 
+2

是的,那是有效的。我只是想知道是否有一種等價的方式表示方法返回'datetimevalues'就像布爾值。 –

+0

我不這麼認爲。我敢肯定,django的核心人會接受補丁...... – cethegeek