Fix an MSSQL incompatibility.

This commit is contained in:
Yaro Kasear 2025-08-27 09:48:14 -05:00
parent 026f7aff64
commit 35068618c4

View file

@ -1,7 +1,6 @@
from dataclasses import dataclass, field
from typing import List, Dict, Any, Optional
from sqlalchemy import asc, desc, select, func
from sqlalchemy.orm import selectinload, joinedload, Load
from sqlalchemy import asc, desc, select, false()
@dataclass
class QuerySpec:
@ -25,7 +24,17 @@ FILTER_OPS = {
}
def build_query(Model, spec: QuerySpec, eager_policy=None):
stmt = select(Model).where(Model.deleted.is_(False))
stmt = select(Model)
# filter out soft-deleted rows
deleted_attr = getattr(Model, "deleted", None)
if deleted_attr is not None:
stmt = stmt.where(deleted_attr == false())
else:
is_deleted_attr = getattr(Model, "is_deleted", None)
if is_deleted_attr is not None:
stmt = stmt.where(is_deleted_attr == false())
# filters
for raw_key, val in spec.filters.items():
for op in FILTER_OPS: