use DeclarativeBase class for models Base

This commit is contained in:
Jakub Miazek 2023-09-18 08:20:58 +02:00
parent 5469121dfe
commit 3294839b2a

View File

@ -4,22 +4,10 @@ from asyncpg import UniqueViolationError
from fastapi import HTTPException, status from fastapi import HTTPException, status
from sqlalchemy.exc import SQLAlchemyError, IntegrityError from sqlalchemy.exc import SQLAlchemyError, IntegrityError
from sqlalchemy.ext.asyncio import AsyncSession from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy.orm import as_declarative, declared_attr from sqlalchemy.orm import declared_attr, DeclarativeBase
@as_declarative() class Base(DeclarativeBase):
class BaseReadOnly:
id: Any
__name__: str
# Generate __tablename__ automatically
@declared_attr
def __tablename__(self) -> str:
return self.__name__.lower()
@as_declarative()
class Base:
id: Any id: Any
__name__: str __name__: str
# Generate __tablename__ automatically # Generate __tablename__ automatically