服务电话:13693293278

客服咨询QQ:470942293

 
网站首页
公司介绍
付款方式
联系我们
Logo说明
合作伙伴
企业型网站建设
商务型网站建设
Flash型网站建设
定制型网站建设
OA系统开发
ERP系统开发
MIS系统开发
MES系统开发
移动开发Android
移动开发iOS
微信二次开发
网站维护
建站流程
功能模块
程序语言
静态生成
域名选择
网站上传
网站备案
网站维护
最新动态
行业资讯
Python
ThinkPHP
jQuery
PHP
Div+CSS
MySQL
Oracle

技术文章

Python
ThinkPHP
jQuery
PHP
Div+CSS
MySQL
Oracle

北京海思通科技有限责任公司
联系:01082462897
业务:haisitong@163.com
技术:470942293@qq.com
网址:http://www.haisitong.net/
QQ: 2223793800 470942293

django模型model自定义属性

发布日期:2020-10-23 10:19:29

django模型model自定义属性和自定义方法,增加参数@property即可,view中使用有所不同。

接下来先给出代码:

# 定义News模型类
class News(models.Model):
    title = models.CharField(max_length=200)
    author = models.CharField(max_length=200)
    pic = models.CharField(max_length=200)
    intro = models.TextField()
    content = models.TextField()
    dt = models.DateTimeField(auto_now_add=True)
    catalog = models.ForeignKey('Catalog', null=False, blank=False, on_delete=models.CASCADE)  
    
    @property
    def test_method01(self):           
            return self.catalog.title

    def test_method02(self, s):   
        return self.catalog.title + s 

    class Meta:  
        db_table = 'tb_news'

代码中:

@property 标签说明是定义属性,直接引用obj.test_method,如果没有加@property 标签说明是定义的方法,引用: obj.test_method(),通常适合带参数的方法定义。

view中调用:

News.test_method01  即可使用。

News.test_method02('aaa')即可使用,如果没有参数s,News.test_method()即可使用。



Copyright@(2010-2024) 北京海思通科技有限责任公司 客服邮箱:haisitong#163.com(请将#换成@)
京ICP备19051925号