def __get_previous(
self, limit: int
) -> List:
query = query.filter(
SomeModel.id == 1
).limit(limit)
return query.from_self().order_by(VideoCallCaptureModel.id.desc()).all()
오름차순으로 정렬하고 limit()으로 원하는 개수만큼 제한한 뒤에 결과를 query에 넣는다.
만약 from_self()가 없다면 limit을 이미 걸었으므로 다음과 같은 에러가 난다.
Query.order_by() being called on a Query which already has LIMIT or OFFSET applied. To modify the row-limited results of a Query, call from_self() first. Otherwise, call order_by() before limit() or offset() are applied.
from_self()
: query의 select 문에서 query
를 반환한다.