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.

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.