我是Django的新手。我有自定义方法的模型。我认为 检索单个对象。
这是我的代码 - 我的模型
class Problem(models.Model):
problem = models.CharField(max_length=100)
solution=models.CharField(max_length=500)
def __unicode__(self):
return self.problem
def retrieve_rankdata(self):
return self.problem.split()[0].split('/')
在视图中我正在做这个
def show(request):
problem = Problem.objects.all()[0]
t1=problem.retrieve_rankdata()
但是,我收到了这个错误 'Problem'对象没有'retrieve_rankdata'属性
我做错了什么?
答案 0 :(得分:1)
这有点难以辨别,但问题可能出在你的缩进上。您粘贴的代码中的缩进不一致,因此无论如何都无法正常工作 - 我怀疑在您的实际代码中,def retrieve_rankdata
左侧还有几个空格。
不要忘记Python使用缩进来判断属性或方法是否属于类的一部分。因此,如果您的def retrieve_rankdata
行实际上没有与def __unicode__
一行缩进,则不会将其视为Problem
类的一部分。