Django DetailView: переключает меня на другого пользователя

У меня есть два типа пользователей, студент и преподаватель. И у меня есть эта ListView для преподавателей, отображающая их имя, заголовок профиля и биографию, которая успешно работает, и я также поместил ссылку на эти три поля, перенаправляющую на детальный просмотр их профиля. Теперь, я использовал cbv DetailView для отображения подробного просмотра их профиля, который также работает отлично... но единственная проблема в том, что когда я нажимаю на эту ссылку как студент, она переключает мой профиль или мой тип пользователя на этого конкретного репетитора, но когда я нажимаю домой или любую другую страницу сайта, она переключается обратно в нормальное состояние. Не мог бы кто-нибудь помочь мне с этим, пожалуйста? Потому что я ищу решение этой проблемы со вчерашнего дня, но я не смог найти проблему, похожую на мою. Извините за мой английский, пожалуйста.

Это список репетиторов, и, как вы можете видеть в правом верхнем углу, я вошел в систему как студент. This is the list of tutors, and as you can see on the upper right, I am logged in as a student.

Вот, справа вверху видно, что он переключает меня на профиль Джосса. Here, you can see on the upper right that it switches me to joss's profile.

это мои модели

class User(AbstractUser):
    is_student = models.BooleanField(default=False)
    is_tutor = models.BooleanField(default=False)
    first_name = models.CharField(max_length=100)
    last_name = models.CharField(max_length=100)
    email = models.EmailField(max_length=100)
    phone_number = models.CharField(max_length=11, blank=False)
    current_address = models.CharField(max_length=100)
    image = models.ImageField(default='default_pic.jpg', upload_to=path_and_rename, verbose_name='Profile Pictures')

    def __str__(self):
        return f'{self.username}'


class StudentProfile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='student_profile')
    def __str__(self):
        return f"{self.user.first_name} {self.user.last_name} Profile"


class TutorProfile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='tutor_profile')
    profile_headline = models.CharField(max_length=200, null=True)
    bio = models.TextField(max_length=500, blank=True, null=True)
    is_validated = models.BooleanField(default=False)
    DAYS = (('Monday', 'Monday'),
            ('Tuesday', 'Tuesday'),
            ('Wednesday', 'Wednesday'),
            ('Thursday', 'Thursday'),
            ('Friday', 'Friday'),
            ('Saturday', 'Saturday'),
            ('Sunday', 'Sunday'),)

    LANG = (('Javascript', 'Javascript'),
            ('Python', 'Python'),
            ('Swift', 'Swift'),
            ('Java', 'Java'),
            ('Sql', 'Sql'),
            ('PHP', 'PHP'),
            ('C#', 'C#'),)

    programming_languages = MultiSelectField(choices=LANG, null=True)
    availability = MultiSelectField(choices=DAYS, null=True)

    def __str__(self):
        return f"{self.user.first_name} {self.user.last_name} Profile"

это мое мнение

class TutorListView(LoginRequiredMixin,ListView):
    model = User
    template_name = 'accounts/tutor_list.html'
    context_object_name = 'tutors'
    ordering = ['userrating']
    paginate_by = 5


class TutorDetailView(LoginRequiredMixin,DetailView):
    model = User
    template_name = 'accounts/tutor_detail_view.html'


class ProfileView(LoginRequiredMixin, TemplateView):
    template_name = 'accounts/profile.html'

Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.

Введите context_object_name = 'tutor' в свой DetailView класс!

Вернуться на верх