模型方法-libmodbus源码解析

时间:2024-07-14 01:47:22
【文件属性】:

文件名称:模型方法-libmodbus源码解析

文件大小:7.37MB

文件格式:PDF

更新时间:2024-07-14 01:47:22

PDF

9.3模型方法 模型中自定义的方法为对象添加数据行层的功能。管理器的作用是执行数据表层的操作,而模型方法处理的 是具体的模型实例。这个技术的价值很大,能把业务逻辑统一放在一个地方,即模型中。 通过示例说明最简单。下述模型有一个自定义的方法: 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): # 返回一个人的出生日期与婴儿潮的关系 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" def _get_full_name(self): # 返回一个人的全名 return '%s %s' % (self.first_name, self.last_name) full_name = property(_get_full_name) 各个模型自动具有的方法列表参见附录 A。这些方法基本上都可以覆盖(参见下文),其中几个最常定义: • __str__()。这是 Python 的一个“魔法方法”,返回对象的 Unicode 表示形式。需要以普通的字符串显示 模型实例时,Python 和 Django 会调用这个方法。尤其要注意,在交互式控制台或管理后台中显示对 象调用的都是这个方法。这个方法一定要自定义,因为默认的实现没什么用。 • get_absolute_url()。这个方法告诉 Django 如何计算一个对象的 URL。Django 在管理后台和需要生成 对象的 URL 时调用这个方法。具有唯一标识的 URL 的对象都要定义这个方法。 9.3 模型方法 - 141


网友评论