Here are the examples of the python api sqlalchemy.sqinspect taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
1 Examples
0
Example 1
Project: tornado-restless Source File: wrapper.py
def _filter(instance, condition) -> dict:
"""
Filter properties of instace based on condition
:param instance:
:param condition:
:rtype: dict
"""
# Use iterate_properties when available
if hasattr(instance, 'iterate_properties'):
return {field.key: field for field in instance.iterate_properties
if condition(field)}
# Try sqlalchemy inspection
try:
inspection = sqinspect(instance)
if hasattr(inspection, "all_orm_descriptors"):
return {field.key: field for key, field in inspection.all_orm_descriptors.items()
if condition(field)}
elif hasattr(inspection, "attrs"):
return {field.key: field for key, field in inspection.attrs.items()
if condition(field)}
else:
raise NoInspectionAvailable()
# Use Inspect
except NoInspectionAvailable:
return {field.key: field for key, field in inspect.getmembers(instance)
if condition(field)}