aiozab/utils/get_regions.py
2025-02-23 12:05:49 +05:00

21 lines
1.1 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from sqlalchemy import cast, Integer
from sqlalchemy.future import select
from utils.db import AsyncSessionLocal
from utils.db.regions import Region
async def get_sorted_regions():
"""
Получает отсортированный список активных регионов из базы данных.
:return: Список кортежей с идентификаторами и названиями регионов
"""
async with AsyncSessionLocal() as session:
async with session.begin():
# Формируем запрос для получения активных регионов
stmt = select(Region.region_id, Region.region_name).where(Region.active == True).order_by(cast(Region.region_id, Integer))
# Выполняем запрос и получаем результат
result = await session.execute(stmt)
regions = result.fetchall() # Получаем все записи как список кортежей
regions = "\n".join(f"{region_id}: {region_name}" for region_id, region_name in regions)
return regions