Files
FileAudioAPI/apiApp/routers/audio_management_helper.py
T
2025-12-30 00:25:29 +05:00

33 lines
1.1 KiB
Python

"""
Исправленная версия для проверки Audio без AiConclusion
"""
from sqlalchemy import exists
def get_audio_without_conclusion(db, limit=100):
"""
Находит все Audio, у которых нет AiConclusion
Использует подзапрос через exists, так как AiConclusion - это relationship
"""
# Импортируем модели
from apiApp.database.Audio import Audio
from apiApp.database.AiConclusion import AiConclusion
# Создаём подзапрос для проверки наличия AiConclusion
subquery = db.query(AiConclusion.audio_id).filter(
AiConclusion.audio_id == Audio.id
)
# Находим Audio без AiConclusion
pending_audio = db.query(Audio).filter(
~exists().where(subquery.exists())
).order_by(Audio.index_date.asc()).limit(limit).all()
# Считаем total
total_pending = db.query(Audio).filter(
~exists().where(subquery.exists())
).count()
return pending_audio, total_pending