fix: owner-less document query passes bare False to SQLAlchemy filter() (#1281)

* fix: use SQL false() for owner-less document query (filter(False) raises in SQLAlchemy 2.x)

* test: owner-less document query doesn't pass a bare False to filter
This commit is contained in:
Afonso Coutinho
2026-06-02 17:20:43 +01:00
committed by GitHub
parent a3b3dbafde
commit 83aa35b83e
2 changed files with 36 additions and 1 deletions

View File

@@ -90,7 +90,11 @@ def get_active_document():
def _owned_document_query(query, Document, owner: Optional[str]):
if owner is None:
return query.filter(False)
# A bare Python `False` is not a valid SQL expression — SQLAlchemy 1.4
# deprecates it and 2.0 raises ArgumentError. Use the SQL `false()`
# literal to return zero rows for an unscoped (owner-less) query.
from sqlalchemy import false
return query.filter(false())
return query.filter(Document.owner == owner)