【发布时间】:2021-02-01 03:39:47
【问题描述】:
我已经尝试了几天,但没有解决方案。我遇到了这个奇怪的错误,之后我进行了几次尝试,但都没有解决我的问题,我很高兴收到解决方案。
ERROR LOGS
Traceback (most recent call last):
File "C:\Users\Habib\Documents\django\django-new\student-management-system\venv\lib\site-packages\django\core\handlers\exception.py", line 34, in inner
response = get_response(request)
File "C:\Users\Habib\Documents\django\django-new\student-management-system\venv\lib\site-packages\django\core\handlers\base.py", line 115, in _get_response
response = self.process_exception_by_middleware(e, request)
File "C:\Users\Habib\Documents\django\django-new\student-management-system\venv\lib\site-packages\django\core\handlers\base.py", line 113, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:\Users\Habib\Documents\django\django-new\student-management-system\venv\lib\site-packages\django\views\generic\base.py", line 71, in view
return self.dispatch(request, *args, **kwargs)
File "C:\Users\Habib\Documents\django\django-new\student-management-system\venv\lib\site-packages\django\views\generic\base.py", line 97, in dispatch
return handler(request, *args, **kwargs)
File "C:\Users\Habib\Documents\django\django-new\student-management-system\venv\lib\site-packages\django\views\generic\list.py", line 142, in get
self.object_list = self.get_queryset()
File "C:\Users\Habib\Documents\django\django-new\student-management-system\student_management_app\StaffViews.py", line 364, in get_queryset
queryset = self.request.user.quizzes \
File "C:\Users\Habib\Documents\django\django-new\student-management-system\venv\lib\site-packages\django\utils\functional.py", line 225, in inner
return func(self._wrapped, *args)
Exception Type: AttributeError at /staff_quiz_home/
Exception Value: 'CustomUser' object has no attribute 'quizzes'
MODELS.PY
class CustomUser(AbstractUser):
user_type_data = ((1, "HOD"), (2, "Staff"), (3, "Student"))
user_type = models.CharField(default=1, choices=user_type_data, max_length=10)
class Quiz(models.Model):
owner = models.ForeignKey(Staffs, on_delete=models.CASCADE, related_name='quizzes')
name = models.CharField(max_length=255)
subject = models.ForeignKey(Subjects, on_delete=models.CASCADE, related_name='quizzes')
class student(models.Model):
name = models.CharField(max_length=255)
admin = models.OneToOneField(CustomUser, on_delete = models.CASCADE)
gender = models.CharField(max_length=50)
quizzes = models.ManyToManyField(Quiz, through='TakenQuiz')
class Staffs(models.Model):
name = models.CharField(max_length=255)
admin = models.OneToOneField(CustomUser, on_delete = models.CASCADE)
address = models.TextField()
class Subjects(models.Model):
name = models.CharField(max_length=255)
staff_id = models.ForeignKey(CustomUser, on_delete=models.CASCADE)
VIEWS.PY
class QuizListView(ListView):
model = Quiz
ordering = ('name', )
context_object_name = 'quizzes'
template_name = "staff_template/quiz_home_page.html"
def get_queryset(self):
queryset = self.request.user.quizzes \
.select_related('subject') \
.annotate(questions_count=Count('questions', distinct=True)) \
.annotate(taken_count=Count('taken_quizzes', distinct=True))
return queryset
提前致谢,如果您需要更多信息,请告诉我。
【问题讨论】:
标签: python django django-models django-views django-templates