使用模型上返回布尔值的方法,您可以将它们标记为布尔值,以便管理员列表显示漂亮的图标,如example from the docs:
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
,类似于返回布尔值的方法的存在?
答案 0 :(得分: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