Reference¶
Custom column types¶
- class sqlalchemy_things.column_types.UUIDType(*args, **kwargs)¶
Bases:
sqlalchemy.sql.type_api.TypeDecorator
Backend-agnostic UUID type.
Mixins for signle and joined inheritance¶
- class sqlalchemy_things.declarative.PolymorphicMixin¶
Bases:
sqlalchemy_things.declarative.base.DeclarativeMixin
Polymorphic mixin for single table and joined table inheritance.
Primary key mixins for signle and joined table inheritance¶
- class sqlalchemy_things.declarative.BigIntegerPrimaryKeyMixin¶
Bases:
sqlalchemy_things.declarative.base.DeclarativeMixin
Big integer primary key mixin.
Warning
SQLite backend not support autoincrement for BigInteger column type.
- class sqlalchemy_things.declarative.DateTimePrimaryKeyMixin¶
Bases:
sqlalchemy_things.declarative.base.DeclarativeMixin
Datetime primary key mixin.
- class sqlalchemy_things.declarative.IntegerPrimaryKeyMixin¶
Bases:
sqlalchemy_things.declarative.base.DeclarativeMixin
Integer primary key mixin.
- class sqlalchemy_things.declarative.UUIDPrimaryKeyMixin¶
Bases:
sqlalchemy_things.declarative.base.DeclarativeMixin
UUID primary key mixin.
Primary key mixins for joined table inheritance¶
- class sqlalchemy_things.declarative.CascadeBigIntegerPrimaryKeyMixin¶
Bases:
sqlalchemy_things.declarative.base.InheritedDeclarativeMixin
Cascade big integer primary key mixin for joined table inheritance.
Warning
SQLite backend not support autoincrement for BigInteger column type.
- class sqlalchemy_things.declarative.CascadeDateTimePrimaryKeyMixin¶
Bases:
sqlalchemy_things.declarative.base.InheritedDeclarativeMixin
Cascade datetime primary key mixin for joined table inheritance.
- class sqlalchemy_things.declarative.CascadeIntegerPrimaryKeyMixin¶
Bases:
sqlalchemy_things.declarative.base.InheritedDeclarativeMixin
Cascade integer primary key mixin for joined table inheritance.
- class sqlalchemy_things.declarative.CascadeUUIDPrimaryKeyMixin¶
Bases:
sqlalchemy_things.declarative.base.InheritedDeclarativeMixin
Cascade UUID primary key mixin for joined table inheritance.
- class sqlalchemy_things.declarative.ParentPrimaryKeyMixin¶
Bases:
sqlalchemy_things.declarative.base.InheritedDeclarativeMixin
Parent primary key mixin for child class in joined table inheritance without cascade primary key mixin.
Warning
This mixin must precede the parent class when declaring a child class.
Pagination¶
- class sqlalchemy_things.pagination.OffsetPage(items: List[Any], number: int, page_size: int, total: int)¶
Bases:
object
- class sqlalchemy_things.pagination.OffsetPaginator(page_size: int = 20, max_page: Optional[int] = None)¶
Bases:
object
Utils for single and joined inheritance¶
- sqlalchemy_things.declarative.get_inherited_column(cls: Any, name: str, default: sqlalchemy.sql.schema.Column) Optional[sqlalchemy.sql.schema.Column] ¶
Utility function for column inheriting in mixins.
- Parameters
name – column name of parent class;
default – default value if not found in parent class.
- sqlalchemy_things.declarative.get_inherited_primary_key(cls: Any) Optional[sqlalchemy.sql.schema.Column] ¶
Utility function for creating child primary key in joined table inheritance.