北京海思通科技有限责任公司
业务:haisitong@163.com
技术:470942293@qq.com
网址:http://www.haisitong.net/
QQ: 2223793800 470942293
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()即可使用。