Django models 无法调用自定义方法

Django models 无法调用自定义方法,django-models,Django Models,我是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_ra

我是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”属性


我做错了什么

有点难说,但问题可能是你的缩进。您粘贴的代码中的缩进不一致,因此无论如何都无法正常工作-我怀疑在您的实际代码中,
def retrieve_rankdata
在左边多了几个空格


不要忘记Python使用缩进来判断属性或方法是否是类的一部分。因此,如果您的
def retrieve_rankdata
行实际上没有与
def\uuu unicode\uuu
行缩进在同一级别,它将不会被视为
问题的一部分。

伙计,您浪费了太多时间。我使用的是notepad++。然后,使用IDLE编辑,它显示了缩进问题。