Compare commits

..

3 Commits
1.2.2 ... 1.2.4

3 changed files with 31 additions and 21 deletions

View File

@@ -2,7 +2,15 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## 1.2.X ## 1.2.4
- Enabled newer versions for all dependencies
## 1.2.3
- Added option to specify lookup_column for get_object_or_404
## 1.2.2
- Added order_by method - Added order_by method

View File

@@ -10,8 +10,10 @@ from .models.base import Base
T = TypeVar("T", bound=Base) T = TypeVar("T", bound=Base)
def get_object_or_404(db_class: Type[T], id: UUID | str, db: Session, expunge: bool = False) -> T: def get_object_or_404(
obj = db.query(db_class).filter(db_class.id == id).one_or_none() db_class: Type[T], id: UUID | str, db: Session, expunge: bool = False, lookup_column: str = "id"
) -> T:
obj = db.query(db_class).filter(getattr(db_class, lookup_column) == id).one_or_none()
if obj is None: if obj is None:
raise HTTPException(status_code=404, detail="The object does not exist.") raise HTTPException(status_code=404, detail="The object does not exist.")
if expunge: if expunge:

View File

@@ -1,23 +1,23 @@
annotated-types==0.6.0 # Pydantic annotated-types>=0.6.0 # Pydantic
pydantic==2.6.4 # Pydantic pydantic>=2.6.4 # Pydantic
pydantic-core==2.16.3 # Pydantic pydantic-core>=2.16.3 # Pydantic
typing-extensions==4.10.0 # Pydantic typing-extensions>=4.10.0 # Pydantic
anyio==4.3.0 # FastAPI anyio>=4.3.0 # FastAPI
fastapi==0.110.1 # FastAPI fastapi>=0.110.1 # FastAPI
idna==3.6 # FastAPI idna>=3.6 # FastAPI
sniffio==1.3.1 # FastAPI sniffio>=1.3.1 # FastAPI
starlette==0.37.2 # FastAPI starlette>=0.37.2 # FastAPI
fastapi-pagination==0.12.21 # Pagination fastapi-pagination>=0.12.21 # Pagination
sqlalchemy==2.0.29 # SQLAlchemy sqlalchemy>=2.0.29 # SQLAlchemy
python-dotenv==1.0.1 # Environment variables python-dotenv>=1.0.1 # Environment variables
psycopg==3.1.18 # PostgreSQL psycopg>=3.1.18 # PostgreSQL
psycopg-binary==3.1.18 # PostgreSQL psycopg-binary>=3.1.18 # PostgreSQL
psycopg-pool==3.2.1 # PostgreSQL psycopg-pool>=3.2.1 # PostgreSQL
h11==0.14.0 # Testing h11>=0.14.0 # Testing
httpcore==1.0.5 # Testing httpcore>=1.0.5 # Testing
httpx==0.27.0 # Testing httpx>=0.27.0 # Testing