Django中的模型方法是何时被调用的?

6

我试图理解模型方法的工作原理。 以以下示例为例:源代码在此

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,但该方法从未被调用。

这是如何工作的?对于这个初学者问题,我很抱歉。


3
当你呼叫它们时,它们就被称为("They are called when you call them.")。 - RemcoGerlich
我建议在学习Django之前,先完成Python基本面向对象编程的教程。 - Bob Dylan
6
哇,Remco和Bob。帮忙得真不错。 - Shubham Gupta
1个回答

7
如果你有一个Person对象
my_person = Person.objects.first()

您可以调用模型方法:
my_person.baby_boomer_status()

由于此函数返回一个字符串,你可以打印它的结果。
print my_person.baby_boomer_status()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接