Пожалуйста, застрял на два дня на этом пользовательском классе подробное представление класса не отображается запись

Пожалуйста, кто-нибудь может помочь мне в этом вопросе. Пожалуйста, застрял на два дня на этом пользовательском классе подробное представление класса не отображает запись, я я думаю, что он возвращается к данным зарегистрированного пользователя, а не к деталям из списка. мой код ниже не ошибка даже распечатал переменную но все равно пусто

view.py

class ListOfEnrolledCandidate(View):
    def get(self, request, **kwargs):
        users = CustomUser.objects.filter(user_type=6).select_related('candidates')
        context = {
        'users': users
        }
        return render(request, 'superadmin/candidates/list-enrolled.html', context)

class CandidateProfile(View):
    def get(self, request, **kwargs):
        user = CustomUser.objects.get(id=int(kwargs['id']))
        print(user)
        return render(request, 'superadmin/candidates/profile-detail.html',{'users':user.id})

models.py

class Candidates(models.Model):
    admin = models.OneToOneField(CustomUser, on_delete=models.CASCADE, 
    related_name="candidates")
    profile_pic = models.ImageField(default='default.jpg', upload_to='upload')
    middle_name = models.CharField(max_length=255)
    gender = models.CharField(max_length=255)
    country = models.ForeignKey(Country, on_delete=models.CASCADE, null=True)
    state = models.ForeignKey(State, on_delete=models.CASCADE)
    local = models.ForeignKey(Local, on_delete=models.CASCADE)
    dob = models.CharField(max_length=100)
    candclass = models.CharField(max_length=100, null=True)
    parentno = models.CharField(max_length=11, null=True)
    exam_year = models.CharField(max_length=100, null=True)
    profile_pic = models.ImageField(default='default.jpg', upload_to='media/uploads')
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now_add=True)
    objects = models.Manager()

    def __str__(self):
        return self.middle_name


class CandidateSubject(models.Model):    
    admin = models.OneToOneField(CustomUser, null=True, on_delete=models.CASCADE)
    subject1 = models.CharField(max_length=255, null=True)
    subject2 = models.CharField(max_length=255, null=True)
    subject3 = models.CharField(max_length=255, null=True)
    subject4 = models.CharField(max_length=255, null=True)
    subject5 = models.CharField(max_length=255, null=True)
    subject6 = models.CharField(max_length=255, null=True)
    subject7 = models.CharField(max_length=255, null=True)
    subject8 = models.CharField(max_length=255, null=True)
    subject9 = models.CharField(max_length=255, null=True)
    subject10 = models.CharField(max_length=255, null=True)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now_add=True)
    objects = models.Manager()

    def __str__(self):
        return f'{self.subject1, self.subject2}'

это отношения один к одному с пользователем

class CustomUser(AbstractUser):
    user_type_data = ((1, "HOD"), (2, "Staffs"), (3, "Teachers"), (4, "Parents"), (5, 
    "Students"), (6, "Candidates"))
    user_type = models.CharField(default=1, choices=user_type_data, max_length=15)

    def __str__(self) -> str:
        return self.first_name

i enjoy custom class more than functions please anyone help me out with this code

Для вашего класса CandidateProfile может быть лучше использовать DetailView:

from django.views.generic.detail import DetailView
from django.shortcuts import get_object_or_404

class CandidateProfile(DetailView):
    context_object_name = 'candidate'
    template_name = 'superadmin/candidates/profile-detail.html'
    
    def get_object(self):
        return get_object_or_404(CustomUser, pk=int(self.kwargs['id']))

Поскольку мы установили context_object_name в candidate, это означает, что django передаст объект CustomUser шаблону, и мы сможем получить доступ к этому объекту, используя candidate.

profile-page.html будет выглядеть примерно так:

         <div class="tab-content tab-bordered" id="myTab3Content">
          <div class="tab-pane fade show active" id="about" 
              role="tabpanel" aria-labelledby="home-tab2">
            <div class="row">
              <div class="col-md-3 col-6 b-r">
                <strong>Full Name</strong>
                <br>
                <p class="text-muted">{{ candidate.first_name }} 
               </p>
              </div>
              <div class="col-md-3 col-6 b-r">
                <strong>Mobile</strong>
                <br>
                <p class="text-muted">{{ candidate.admin.parentno }}</p>
              </div>
              <div class="col-md-3 col-6 b-r">
                <strong>Email</strong>
                <br>
                <p class="text-muted">{{ candidate.email }}</p>
              </div>
Вернуться на верх