Показать данные из определенной таблицы в моем представлении django

Я хочу, чтобы только запросы из больницы. Как я могу этого добиться?

Пример:

Пользователь из больницы

class CustomUser(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(_('email address'), unique=True)
FKbelongs_to = models.ForeignKey('HospitalViewRoleForUsers', on_delete = models.CASCADE, null=True, blank=True)

Модель больницы

 class HospitalViewRoleForUsers(models.Model):
     RequestsFromLab = models.ForeignKey('request', on_delete=models.PROTECT)

Запросы из больницы

FKHospitalRequests = models.ForeignKey('HospitalViewRoleForUsers', on_delete = models.PROTECT)
    user_request = models.ForeignKey('customuser', on_delete= models.PROTECT)

В моем представлении мне нужно проверить, к какой больнице принадлежит пользователь и, передать только информацию о запросе из этой больницы в мое представление пользователя.

Представление пользователя, которое я пытаюсь построить

def Get_UserRequestByHospital(request, pk):
user = request.user
items = requests.objects.filter(FKHospitalRequests = 1).values_list('id', flat = True)
return render(request, 'user_profile/list-user-request.html', {'items': items})

В данных тестирования Jupyter это выглядит следующим образом

    user_hospital2 = requests.objects.filter(FKHospitalRequests = 1).values_list('id', flat = True)
<QuerySet [1]>

Как мы видим, Jupyter возвращает идентификатор запроса. Который связан с больницей. Но я запутался, и мне нужна помощь в поиске решения. Я новичок в Django, поэтому. Я предполагаю, что мне нужно передать PK в представление, а затем создать фильтр для проверки, равен ли PK FK из запроса больницы? Но, также, как я узнаю, что этот пользователь принадлежит больнице? Спасибо. Я действительно потерян и я новичок в Django.

-- Редактирование: Другие пользователи могут видеть запросы других пользователей.

Я решил эту проблему следующим образом:

В моем представлении заявок я добавил FK, чтобы проверить, равен ли он FK пользователя. С помощью этого метода я могу сделать так, чтобы только пользователи из больницы 1 могли видеть заявки больницы 1.

def Get_UserRequest(request, FKbelongs_to_id):
    user = request.user 
    if CustomUser.objects.filter(FKbelongs_to_id = FKbelongs_to_id):
        items = requests.objects.filter(FKHospitalRequests_id = FKbelongs_to_id)

    else:

        return HttpResponseNotAllowed("Not Allowed")
Вернуться на верх