Merge pull request #115 from grillazz/sqlalchemy-2

use DeclarativeBase class for models Base
This commit is contained in:
Jakub Miazek 2023-09-18 08:23:41 +02:00 committed by GitHub
commit e086a4d45f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

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