Python Django自定义方法赢得';我没有出现

Python Django自定义方法赢得';我没有出现,python,django,object,methods,django-models,Python,Django,Object,Methods,Django Models,对于Django中的模型管理器,我有两个自定义方法。其中一个有效。我最近添加了另一个,Django(和python)表现得好像它不存在一样。以下是模型的相关部分: class FigureServerManager(models.Manager): #This method takes as input a user and grabs a figure that is not marked complete for which that user has not already sub

对于Django中的模型管理器,我有两个自定义方法。其中一个有效。我最近添加了另一个,Django(和python)表现得好像它不存在一样。以下是模型的相关部分:

class FigureServerManager(models.Manager):
    #This method takes as input a user and grabs a figure that is not marked complete for which that user has not already submitted a result
    def serve_to_user(self,user):
    not_complete=super(FigureServerManager, self).get_query_set().filter(complete=0)
    for Figure in not_complete:
        checkifresult=User.objects.get(pk=user).result_set.all().filter(figure=Figure.id)
    if not checkifresult:
            return Figure

    #This is a copy of the above method that I want to change to do something else, but I can't even get it to show up yet
    def serve_training_task(self, user):
        with_correct_ans=super(FigureServerManager, self).get_query_set().filter(complete=0)
        for Figure in with_correct_ans:
            checkifresult=User.objects.get(pk=user).result_set.all().filter(figure=Figure.id)
        if not checkifresult:
                return Figure

class Figure(models.Model):
    doi=models.CharField(max_length=20)
    url=models.CharField(max_length=200)
    image=models.ImageField(upload_to='classify')
    complete=models.BooleanField()
    #include the default manager    
    objects=models.Manager()
    #add the extra one for serving figures
    serve_objects=FigureServerManager()
我在网站(运行Django开发服务器)上遇到如下错误:

'FigureServerManager' object has no attribute 'serve_training_task'

如果我在python中运行dir(FigureServerManager),则不会出现serve_training_task方法,但会出现serve_to_user方法。为什么不为任务工作提供服务?

你的标签和空格混合在一起,这通常是个坏主意。你的标签和空格混合在一起,这通常是个坏主意。我将工作代码中的前导空格复制并粘贴到非工作代码中,使它工作起来。谢谢我正在用gedit写这篇文章(一个初学者,你能告诉我吗?)-有没有更好的方法来编写python,其中至少有一些视觉提示让我知道类似这样的问题?现在对我来说它是完全不透明的。不幸的是,没有一个编辑器是通灵的,能够意识到你指的是一个方法而不是一个模块级函数。随着时间的推移,这是您必须获得的经验。我将工作代码中的前导空格复制并粘贴到非工作代码中,从而使其正常工作。谢谢我正在用gedit写这篇文章(一个初学者,你能告诉我吗?)-有没有更好的方法来编写python,其中至少有一些视觉提示让我知道类似这样的问题?现在对我来说它是完全不透明的。不幸的是,没有一个编辑器是通灵的,能够意识到你指的是一个方法而不是一个模块级函数。随着时间的推移,你必须从中获得经验。