900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 在Django的模型中添加自定义方法的示例

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

时间:2019-04-28 06:09:40

相关推荐

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

后端开发|Python教程

Django,模型

后端开发-Python教程

为了给你的对像添加一个行级功能,那就定义一个自定义方法。 有鉴于manager经常被用来用一些整表操作(table-wide),模型方法应该只对特殊模型实例起作用。

一只天猫行李箱源码,vscode终端项目路径,阿里 ubuntu 源,tomcat会自带吗,sqlite3 改字段名,爬虫请输入需要的打印三角形,html文件运行php,镇江做seo优化推广,企业网站整站,网站静态页模板lzw

这是一项在模型的一个地方集中业务逻辑的技术。

eclipse 插件 源码,ubuntu自带截图工具,tomcat下实现热部署,马达机械爬虫,php数组内存太大,seo工程师是网站后端工程师吗lzw

最好用例子来解释一下。 这个模型有一些自定义方法:

商家入驻开店源码,vscode删除一行,ubuntu硬盘温度,tomcat页面打开慢,量化派爬虫,php正则获取标签内容,北京seo外包公司招商,万年历系统网站源码,安装模板时应作到lzw

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 persons baby-boomer status." import datetime if datetime.date(1945, 8, 1) <= self.birth_date <= datetime.date(1964, 12, 31):return "Baby boomer" if self.birth_date < datetime.date(1945, 8, 1):return "Pre-boomer" return "Post-boomer" def is_midwestern(self): "Returns True if this person is from the Midwest." return self.state in (IL, WI, MI, IN, OH, IA, MO) def _get_full_name(self): "Returns the persons full name." return u\%s %s % (self.first_name, self.last_name) full_name = property(_get_full_name)

例子中的最后一个方法是一个property。 想了解更多关于属性的信息请访问/download/releases/2.2/descrintro/#property

这是用法的实例:

>>> 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 a method -- its treated as an attributeuBarack Obama

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。