我试图了解模型方法的工作原理。 采用以下示例: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
方法?
我尝试用return
替换print
,但从未调用该方法。
这是如何工作的?抱歉,这个菜鸟问题。
答案 0 :(得分:2)
如果你有一个Person对象
my_person = Person.objects.first()
您可以调用模型方法:
my_person.baby_boomer_status()
由于这会返回一个字符串,您可以打印其结果
print my_person.baby_boomer_status()