Python 参考Django 1.5中方法中的模型方法
我有一个模型Python 参考Django 1.5中方法中的模型方法,python,django,templates,methods,model,Python,Django,Templates,Methods,Model,我有一个模型 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}}时得到了所需的结果,但似乎我无法在模型方法中引用另一个模型方法。
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}}时,消息绑定方法失败。在field2方法中,您返回对field1方法的引用,因此模板的行为是这样的
您可能想从field2呼叫field1,然后返回?比如:
def field2(self):
return self.field1()
在field2方法中,返回对field1方法的引用,所以模板就是这样运行的
您可能想从field2呼叫field1,然后返回?比如:
def field2(self):
return self.field1()
当您的方法是getter-only时,最好用@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
当您的方法是getter-only时,最好用@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