Defines a set of mapper.MapperProperty objects, including basic column properties as well as relationships. The objects rely upon the LoaderStrategy objects in the strategies.py module to handle load operations. PropertyLoader also relies upon the dependency.py module to handle flush-time dependency sorting and processing.
Attached to a PropertyLoader to indicate a complementary reverse relationship.
Can optionally create the complementing PropertyLoader if one does not exist already.
Describes an object attribute that corresponds to a table column.
The list of columns describes a single object property. If there are multiple tables joined together for the mapper, this list represents the equivalent column as it appears across each table.
subclasses ColumnProperty to provide composite type support.
Describes an object property that holds a single item or list of items that correspond to a related database table.
Construct a new PropertyLoader.
return a join condition from the given parent mapper to this PropertyLoader's mapper.
The resulting ClauseElement object is cached and should not be modified directly.
- parent
- a mapper which has a relation() to this PropertyLoader. A PropertyLoader can have multiple "parents" when its actual parent mapper has inheriting mappers.
- primary
- include the primary join condition in the resulting join.
- secondary
- include the secondary join condition in the resulting join. If both primary and secondary are returned, they are joined via AND.
- polymorphic_parent
- if True, use the parent's 'select_table' instead of its 'mapped_table' to produce the join.