[英]Django custom method won't show up
I have two custom methods for a model manager in Django. 对于Django中的模型管理器,我有两种自定义方法。 One of them works. 其中之一有效。 I recently added another and Django (and python) act like it doesn't exist. 我最近添加了另一个,并且Django(和python)的行为不存在。 Here's the relevant part of the model: 这是模型的相关部分:
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()
I get an error on the website (running the Django development server) like this: 我在网站(运行Django开发服务器)上收到如下错误:
'FigureServerManager' object has no attribute 'serve_training_task'
and if I run dir(FigureServerManager) in python the serve_training_task method does not appear but the serve_to_user method does appear. 如果我在python中运行dir(FigureServerManager),则不会出现serve_training_task方法,但会出现serve_to_user方法。 Why doesn't serve_training_task work? 为什么serve_training_task不起作用?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.