我正在尝试了解模型方法的工作原理。 以下面的例子:source here
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()
def baby_boomer_status(self):
"Returns the person's baby-boomer status."
import datetime
if self.birth_date < datetime.date(1945, 8, 1):
return "Pre-boomer"
elif self.birth_date < datetime.date(1965, 1, 1):
return "Baby boomer"
else:
return "Post-boomer"
什么时候调用 baby_boomer_status 方法?
我尝试用 print 替换 return 但从未调用该方法。
这是如何运作的?对不起,菜鸟问题。
请您参考如下方法:
如果你有一个 Person 对象
my_person = Person.objects.first()
您可以调用模型方法:
my_person.baby_boomer_status()
因为这返回一个字符串,你可以打印它的结果
print my_person.baby_boomer_status()
