我有一个模特
class ModelName(models.Model):
field = models.CharField(max_length=200)
def field1(self):
return self.field[10:11]
def field2(self):
return self.field1
在我的模板中,我在打印{{ object.field1 }}
时得到了所需的结果,但似乎我不能在模型方法中引用另一个模型方法。打印{{ object.field2 }}
时,消息失败并显示消息bound method
。
答案 0 :(得分:3)
当你的方法只是getter时,最好用@property
来装饰它们。访问它们时,您将不需要括号。罗汉是对的,你错过了括号。
class ModelName(models.Model):
field = models.CharField(max_length=200)
@property
def field1(self):
return self.field[10:11]
@property
def field2(self):
return self.field1
答案 1 :(得分:1)
在field2()
方法中,您将返回对field1
方法的引用,因此模板的行为就是这样。
您可能需要从field1
致电field2
然后返回?像:
def field2(self):
return self.field1()