Reference
Custom column types
- class sqlalchemy_things.column_types.UUIDType(*args: Any, **kwargs: Any)
Bases:
TypeDecoratorBackend-agnostic UUID type.
Mixins for signle and joined inheritance
- class sqlalchemy_things.declarative.PolymorphicMixin
Bases:
DeclarativeMixinPolymorphic mixin for single table and joined table inheritance.
Primary key mixins for signle and joined table inheritance
- class sqlalchemy_things.declarative.BigIntegerPrimaryKeyMixin
Bases:
DeclarativeMixinBig integer primary key mixin.
Warning
SQLite backend not support autoincrement for BigInteger column type.
- class sqlalchemy_things.declarative.DateTimePrimaryKeyMixin
Bases:
DeclarativeMixinDatetime primary key mixin.
- class sqlalchemy_things.declarative.IntegerPrimaryKeyMixin
Bases:
DeclarativeMixinInteger primary key mixin.
- class sqlalchemy_things.declarative.UUIDPrimaryKeyMixin
Bases:
DeclarativeMixinUUID primary key mixin.
Primary key mixins for joined table inheritance
- class sqlalchemy_things.declarative.CascadeBigIntegerPrimaryKeyMixin
Bases:
InheritedDeclarativeMixinCascade 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:
InheritedDeclarativeMixinCascade datetime primary key mixin for joined table inheritance.
- class sqlalchemy_things.declarative.CascadeIntegerPrimaryKeyMixin
Bases:
InheritedDeclarativeMixinCascade integer primary key mixin for joined table inheritance.
- class sqlalchemy_things.declarative.CascadeUUIDPrimaryKeyMixin
Bases:
InheritedDeclarativeMixinCascade UUID primary key mixin for joined table inheritance.
- class sqlalchemy_things.declarative.ParentPrimaryKeyMixin
Bases:
InheritedDeclarativeMixinParent 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: int | None = None)
Bases:
object
Utils for single and joined inheritance
- sqlalchemy_things.declarative.get_inherited_column(self: DeclarativeMixin, name: str, default: Mapped[Any]) Mapped[Any]
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(self: Any) Mapped[Any]
Utility function for creating child primary key in joined table inheritance.