您好,欢迎访问一九零五行业门户网

在Django的模型中添加自定义方法的示例

为了给你的对像添加一个行级功能,那就定义一个自定义方法。 有鉴于manager经常被用来用一些整表操作(table-wide),模型方法应该只对特殊模型实例起作用。
这是一项在模型的一个地方集中业务逻辑的技术。
最好用例子来解释一下。 这个模型有一些自定义方法:
from django.contrib.localflavor.us.models import usstatefieldfrom django.db import modelsclass person(models.model): first_name = models.charfield(max_length=50) last_name = models.charfield(max_length=50) birth_date = models.datefield() address = models.charfield(max_length=100) city = models.charfield(max_length=50) state = usstatefield() # yes, this is u.s.-centric... def baby_boomer_status(self): returns the person's baby-boomer status. import datetime if datetime.date(1945, 8, 1) <= self.birth_date > p = person.objects.get(first_name='barack', last_name='obama')>>> p.birth_datedatetime.date(1961, 8, 4)>>> p.baby_boomer_status()'baby boomer'>>> p.is_midwestern()true>>> p.full_name # note this isn't a method -- it's treated as an attributeu'barack obama'
其它类似信息

推荐信息