Tom*_*Tom 6 python django methods model
我试图了解模型方法是如何工作的。举个例子:来源在这里
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"
Run Code Online (Sandbox Code Playgroud)
baby_boomer_status方法什么时候被调用?
我尝试替换return为print,但该方法从未被调用。
这是如何运作的?抱歉这个菜鸟问题。
如果你有一个 Person 对象
my_person = Person.objects.first()
Run Code Online (Sandbox Code Playgroud)
您可以调用模型方法:
my_person.baby_boomer_status()
Run Code Online (Sandbox Code Playgroud)
由于这会返回一个字符串,因此您可以打印其结果
print my_person.baby_boomer_status()
Run Code Online (Sandbox Code Playgroud)