장고에서 모델 관리자에 대한 두 가지 사용자 지정 방법이 있습니다. 그들 중 하나가 작동합니다. 나는 최근에 또 다른 장고 (그리고 파이썬)가 존재하지 않는 것처럼 그것을 추가했다. 내가 (장고 개발 서버를 실행하는) 웹 사이트에 오류가Django 사용자 정의 메서드가 표시되지 않습니다
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()
이 같은 : 여기에 모델의 관련 부분
'FigureServerManager' object has no attribute 'serve_training_task'
와 나는 파이썬의 디렉토리 (FigureServerManager)를 실행하는 경우 serve_training_task 메소드가 나타나지 않지만 serve_to_user 메소드가 나타납니다. serve_training_task가 작동하지 않는 이유는 무엇입니까?
일반적으로 나쁜 생각 인 탭과 공백이 혼합되어 있습니다. – DTing