Невозможно выполнить запрос "amclient15": Должен быть экземпляр "Client"

Я пытаюсь отфильтровать встречи, назначенные определенным клиентом, когда он вошел в систему

def user( request):
    
    client = request.user.client
    request.user.id
    
    appointments = Appointment.objects.filter(user=request.user)

    context = { 'client': client, 'appointments':appointments
               }

    return render(request, 'users/user.html', context)

Поле Appointment.user не является экземпляром User, оно является экземпляром Client, но request.user по-прежнему является User.

Вы хотите проследить отношение из Client и отфильтровать по полю Client.user.

i.e

appointments = Appointment.objects.filter(user__user=request.user)

Всегда полезно называть поля так, как они есть, т.е. ForeignKey в Appointment, вероятно, следует назвать client, чтобы напомнить вам, что на самом деле это не пользователь, а клиент.

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