Python Django自定义方法赢得';我没有出现
对于Django中的模型管理器,我有两个自定义方法。其中一个有效。我最近添加了另一个,Django(和python)表现得好像它不存在一样。以下是模型的相关部分: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
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,其中至少有一些视觉提示让我知道类似这样的问题?现在对我来说它是完全不透明的。不幸的是,没有一个编辑器是通灵的,能够意识到你指的是一个方法而不是一个模块级函数。随着时间的推移,你必须从中获得经验。