В Django как запретить пользователям просматривать страницы/результаты других пользователей

Я работаю над сайтом анкет и отчетов. Пользователи заполняют некоторые анкетные формы и получают кнопку на сайте результатов, которая показывает пользователю его собственные результаты. Моя проблема в том, что я использую user_name_id в url для показа нужной страницы (например localhost:8000/mpa/7) пользователю и не знаю, как ограничить request.user, чтобы позволить увидеть только его результаты. Теперь, если авторизованный пользователь захочет, он может изменить id в url и сможет просматривать результаты других пользователей.

views.py

@login_required
def main(request):    
    gdpr_new = Gdpr_new.objects.filter(user_name=request.user)
    ...

    context = {
    'gdpr_new': gdpr_new,
    ...
}

return render(request, 'stressz/main.html', context)

urls.py

app_name = 'stressz'
urlpatterns = [
path('<int:user_name_id>/', views.results, name='results'),
    path('project_details/<int:projekt_id>/', views.project_details, name='project_details'),
    path('sum/<int:user_name_id>/', views.individual_sum, name='individual_sum'),
    path('main', views.main, name='main'),
Вернуться на верх