luminadb.models.helpers module

Model helpers

class luminadb.models.helpers.Constraint(column: str)[source]

Bases: object

Base constraint class for models

apply(type_: BuilderColumn)[source]

Apply this constraint to an column

property column

Columns

class luminadb.models.helpers.ConstraintEnum(value)[source]

Bases: StrEnum

Constraints for update/delete

CASCADE = 'cascade'
DEFAULT = 'default'
NOACT = 'no act'
RESTRICT = 'restrict'
SETNULL = 'null'
class luminadb.models.helpers.Foreign(column: str, target: str | Type[Model])[source]

Bases: Constraint

Foreign constraint

apply(type_: BuilderColumn)[source]

Apply this constraint to an column

on_delete(constraint: ConstraintEnum)[source]

On delete constraint

on_update(constraint: ConstraintEnum)[source]

On update constraint

resolve()[source]

Resolve if current target is a Model

property target

Target foreign constraint

class luminadb.models.helpers.Primary(column: str, auto: bool = False)[source]

Bases: Constraint

Primary constraint

Accepts optional auto flag to enable auto-increment on integer primary columns when using the BuilderColumn API.

apply(type_: BuilderColumn)[source]

Apply this constraint as primary. If auto was requested, enable auto increment on the builder column as well.

property auto: bool

Auto increment

class luminadb.models.helpers.Unique(column: str)[source]

Bases: Constraint

Unique constraint

apply(type_: BuilderColumn)[source]

Apply this constraint to an column

class luminadb.models.helpers.Validators(fn: Callable[[Any], bool], if_fail: str)[source]

Bases: object

Base class to hold validators

validate(instance: BaseModel)[source]

Validate a value

luminadb.models.helpers.hook(fn_or_name: Callable[[Model], None]) staticmethod[[Callable[[Model], None]], None][source]
luminadb.models.helpers.hook(fn_or_name: str)

Register a hook

luminadb.models.helpers.initiate_hook(cls: Type[BaseModel], member: Callable)[source]

Initiate hooks

luminadb.models.helpers.initiate_validators(cls: Type[BaseModel], member: Callable)[source]

Initiate validators

luminadb.models.helpers.validate(fn_or_column: FuncT) staticmethod[[FuncT], bool][source]
luminadb.models.helpers.validate(fn_or_column: str, reason: str | None = None)

Register a validator