._.
This commit is contained in:
parent
ce4b56ca32
commit
215eddda32
@ -6,6 +6,7 @@ class CityEntity(BaseModel):
|
|||||||
id: Optional[int] = None
|
id: Optional[int] = None
|
||||||
name: str
|
name: str
|
||||||
federal_district_id: Optional[int] = None
|
federal_district_id: Optional[int] = None
|
||||||
|
federal_district_name: Optional[str] = None
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
from_attributes = True
|
from_attributes = True
|
||||||
|
|||||||
@ -12,12 +12,13 @@ class CitiesService:
|
|||||||
self.repository = CitiesRepository(db)
|
self.repository = CitiesRepository(db)
|
||||||
|
|
||||||
def get_all_cities(self) -> List[CityEntity]:
|
def get_all_cities(self) -> List[CityEntity]:
|
||||||
cities = self.repository.get_all()
|
cities = self.repository.get_all_with_federal_district()
|
||||||
return [
|
return [
|
||||||
CityEntity(
|
CityEntity(
|
||||||
id=c.id,
|
id=c.id,
|
||||||
name=c.name,
|
name=c.name,
|
||||||
federal_district_id=c.federal_district_id
|
federal_district_id=c.federal_district_id,
|
||||||
|
federal_district_name=c.federal_district.name
|
||||||
)
|
)
|
||||||
for c in cities
|
for c in cities
|
||||||
]
|
]
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
from sqlalchemy.orm import Session
|
from sqlalchemy.orm import Session, joinedload
|
||||||
from app.infrastructure.database.models.cities import City
|
from app.infrastructure.database.models.cities import City
|
||||||
|
|
||||||
|
|
||||||
@ -9,6 +9,11 @@ class CitiesRepository:
|
|||||||
def get_all(self):
|
def get_all(self):
|
||||||
return self.db.query(City).all()
|
return self.db.query(City).all()
|
||||||
|
|
||||||
|
def get_all_with_federal_district(self):
|
||||||
|
return self.db.query(City) \
|
||||||
|
.options(joinedload(City.federal_district)) \
|
||||||
|
.all()
|
||||||
|
|
||||||
def get_by_id(self, city_id: int):
|
def get_by_id(self, city_id: int):
|
||||||
return self.db.query(City).filter(City.id == city_id).first()
|
return self.db.query(City).filter(City.id == city_id).first()
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user