diff --git a/src/medical_info/services/medical_cards.py b/src/medical_info/services/medical_cards.py index 2a6400f..811112d 100644 --- a/src/medical_info/services/medical_cards.py +++ b/src/medical_info/services/medical_cards.py @@ -8,6 +8,7 @@ from medical_info.db.schemas import ( ) from medical_info.services.base import BaseService from sqlalchemy.orm import Session +from sqlalchemy import select from pydantic import parse_obj_as from pydantic.types import UUID4 from medical_info.db import models @@ -78,7 +79,9 @@ class MedicalCardService(BaseService[models.MedicalCard, MedicalCardCreateIn, An return medical_card def get_by_person(self, id: UUID4) -> Optional[MedicalCardDetailOut]: - medical_card_obj: Optional[models.MedicalCard] = self.db_session.get(self.model, {"person_id": id}) + medical_card_obj: Optional[models.MedicalCard] = self.db_session.execute( + select(models.MedicalCard).where(models.MedicalCard.person_id == id) + ).first() if medical_card_obj is None: raise HTTPException(status_code=404, detail=f'Медкарта {id} не найдена')