Added some utility functions
This commit is contained in:
@@ -4,7 +4,14 @@ Changelog
|
|||||||
Here you can see the full list of changes between each SQLAlchemy-Utils release.
|
Here you can see the full list of changes between each SQLAlchemy-Utils release.
|
||||||
|
|
||||||
|
|
||||||
0.12.0 (2013-05-08)
|
0.12.1 (2013-05-18)
|
||||||
|
^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
- Added utility functions remove_property and primary_keys
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
0.12.0 (2013-05-17)
|
||||||
^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
- Added ProxyDict
|
- Added ProxyDict
|
||||||
|
|||||||
2
setup.py
2
setup.py
@@ -24,7 +24,7 @@ class PyTest(Command):
|
|||||||
|
|
||||||
setup(
|
setup(
|
||||||
name='SQLAlchemy-Utils',
|
name='SQLAlchemy-Utils',
|
||||||
version='0.12.0',
|
version='0.12.1',
|
||||||
url='https://github.com/kvesteri/sqlalchemy-utils',
|
url='https://github.com/kvesteri/sqlalchemy-utils',
|
||||||
license='BSD',
|
license='BSD',
|
||||||
author='Konsta Vesterinen',
|
author='Konsta Vesterinen',
|
||||||
|
|||||||
@@ -174,3 +174,30 @@ def escape_like(string, escape_char='*'):
|
|||||||
.replace('%', escape_char + '%')
|
.replace('%', escape_char + '%')
|
||||||
.replace('_', escape_char + '_')
|
.replace('_', escape_char + '_')
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def remove_property(class_, name):
|
||||||
|
"""
|
||||||
|
**Experimental function**
|
||||||
|
|
||||||
|
Remove property from declarative class
|
||||||
|
"""
|
||||||
|
mapper = class_.mapper
|
||||||
|
table = class_.__table__
|
||||||
|
columns = class_.mapper.c
|
||||||
|
column = columns[name]
|
||||||
|
del columns._data[name]
|
||||||
|
del mapper.columns[name]
|
||||||
|
columns._all_cols.remove(column)
|
||||||
|
mapper._cols_by_table[table].remove(column)
|
||||||
|
mapper.class_manager.uninstrument_attribute(name)
|
||||||
|
del mapper._props[name]
|
||||||
|
|
||||||
|
|
||||||
|
def primary_keys(class_):
|
||||||
|
"""
|
||||||
|
Returns all primary keys for given declarative class.
|
||||||
|
"""
|
||||||
|
for column in class_.__table__.c:
|
||||||
|
if column.primary_key:
|
||||||
|
yield column
|
||||||
|
|||||||
Reference in New Issue
Block a user