Utilities¶
changeset¶
sqlalchemy_continuum.utils.changeset(obj)
¶
Return a humanized changeset for given SQLAlchemy declarative object. With this function you can easily check the changeset of given object in current transaction.
from sqlalchemy_continuum import changeset
article = Article(name='Some article')
changeset(article)
# {'name': ['Some article', None]}
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
obj
|
SQLAlchemy declarative model object |
required |
count_versions¶
sqlalchemy_continuum.utils.count_versions(obj)
¶
Return the number of versions given object has. This function works even
when obj has create_models and create_tables versioned settings
disabled.
article = Article(name='Some article')
count_versions(article) # 0
session.add(article)
session.commit()
count_versions(article) # 1
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
obj
|
SQLAlchemy declarative model object |
required |
get_versioning_manager¶
sqlalchemy_continuum.utils.get_versioning_manager(obj_or_class)
¶
Return the associated SQLAlchemy-Continuum VersioningManager for given SQLAlchemy declarative model class or object.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
obj_or_class
|
SQLAlchemy declarative model object or class |
required |
is_modified¶
sqlalchemy_continuum.utils.is_modified(obj)
¶
Return whether or not the versioned properties of given object have been modified.
article = Article()
is_modified(article) # False
article.name = 'Something'
is_modified(article) # True
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
obj
|
SQLAlchemy declarative model object See also: |
required |
is_modified_or_deleted¶
sqlalchemy_continuum.utils.is_modified_or_deleted(obj)
¶
Return whether or not some of the versioned properties of given SQLAlchemy declarative object have been modified or if the object has been deleted.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
obj
|
SQLAlchemy declarative model object |
required |
is_session_modified¶
sqlalchemy_continuum.utils.is_session_modified(session)
¶
Return whether or not any of the versioned objects in given session have been either modified or deleted.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
session
|
SQLAlchemy session object See also: |
required |
is_versioned¶
sqlalchemy_continuum.utils.is_versioned(obj_or_class)
¶
parent_class¶
sqlalchemy_continuum.utils.parent_class(version_cls)
¶
transaction_class¶
sqlalchemy_continuum.utils.transaction_class(cls)
¶
Return the associated transaction class for given versioned SQLAlchemy declarative class or version class.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
cls
|
SQLAlchemy versioned declarative class or version model class |
required |
version_class¶
sqlalchemy_continuum.utils.version_class(model)
¶
versioned_objects¶
sqlalchemy_continuum.utils.versioned_objects(session)
¶
Return all versioned objects in given session.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
session
|
SQLAlchemy session object See also: |
required |
version_table¶
sqlalchemy_continuum.utils.version_table(table)
¶
Return associated version table for given SQLAlchemy Table object.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
table
|
SQLAlchemy Table object |
required |