Repository URL to install this package:
|
Version:
3.4.49 ▾
|
contego
/
home
/
tvault
/
.virtenv
/
lib
/
python2.7
/
site-packages
/
sqlalchemy
/
orm
/
properties.pyc
|
|---|
ó
EYc @@ sª d Z d d l m Z d d l m Z m Z d d l m Z d d l m Z d d l m Z d d l
m Z m Z d
d d d
d g Z
e j d
e f d Y Z d S( sz MapperProperty implementations.
This is a private module which defines the behavior of invidual ORM-
mapped attributes.
i ( t absolute_importi ( t utilt log( t
expressioni ( t
attributes( t _orm_full_deannotate( t PropComparatort StrategizedPropertyt ColumnPropertyt CompositePropertyt SynonymPropertyt ComparablePropertyt RelationshipPropertyc B@ s¥ e Z d Z d Z d Z d Z e j d d d Z e d Z
d Z d Z d Z
e j d Z d Z d e j e f d YZ d Z RS(! s Describes an object attribute that corresponds to a table column.
Public constructor is the :func:`.orm.column_property` function.
t columnt
_orig_columnst columnst groupt deferredt
instrumentt comparator_factoryt
descriptort extensiont active_historyt expire_on_flusht infot doct strategy_classt _creation_ordert _is_polymorphic_discriminatort _mapped_by_synonymt _deferred_column_loaderc O@ s t t | j g | D] } t j | ^ q | _ g | D] } t j t | ^ q? | _ | j d d | _
| j d t | _ | j d t
| _ | j d | j j | _ | j d d | _ | j d d | _ | j d t | _ | j d t
| _ d | k r2| j d | _ n d
| k rS| j d
| _ nN xK t | j D]1 } t | d
d } | d k rc| | _ PqcqcWd | _ | rÛt d | j j d j t | j f n t j | | j! d | j f d
| j f | _" d S( s!
Provide a column-level property for use with a Mapper.
Column-based properties can normally be applied to the mapper's
``properties`` dictionary using the :class:`.Column` element directly.
Use this function when the given column is not directly present within
the mapper's selectable; examples include SQL expressions, functions,
and scalar SELECT queries.
Columns that aren't present in the mapper's selectable won't be
persisted by the mapper and are effectively "read-only" attributes.
:param \*cols:
list of Column objects to be mapped.
:param active_history=False:
When ``True``, indicates that the "previous" value for a
scalar attribute should be loaded when replaced, if not
already loaded. Normally, history tracking logic for
simple non-primary-key scalar values only needs to be
aware of the "new" value in order to perform a flush. This
flag is available for applications that make use of
:func:`.attributes.get_history` or :meth:`.Session.is_modified`
which also need to know
the "previous" value of the attribute.
.. versionadded:: 0.6.6
:param comparator_factory: a class which extends
:class:`.ColumnProperty.Comparator` which provides custom SQL
clause generation for comparison operations.
:param group:
a group name for this property when marked as deferred.
:param deferred:
when True, the column property is "deferred", meaning that
it does not load immediately, and is instead loaded when the
attribute is first accessed on an instance. See also
:func:`~sqlalchemy.orm.deferred`.
:param doc:
optional string that will be applied as the doc on the
class-bound descriptor.
:param expire_on_flush=True:
Disable expiry on flush. A column_property() which refers
to a SQL expression (and not a single table-bound column)
is considered to be a "read only" property; populating it
has no effect on the state of data, and it can only return
database state. For this reason a column_property()'s value
is expired whenever the parent object is involved in a
flush, that is, has any kind of "dirty" state within a flush.
Setting this parameter to ``False`` will have the effect of
leaving any existing value present after the flush proceeds.
Note however that the :class:`.Session` with default expiration
settings still expires
all attributes after a :meth:`.Session.commit` call, however.
.. versionadded:: 0.7.3
:param info: Optional data dictionary which will be populated into the
:attr:`.MapperProperty.info` attribute of this object.
.. versionadded:: 0.8
:param extension:
an
:class:`.AttributeExtension`
instance, or list of extensions, which will be prepended
to the list of attribute listeners for the resulting
descriptor placed on the class.
**Deprecated.** Please see :class:`.AttributeEvents`.
R R t _instrumentR R R R R R R s. %s received unexpected keyword argument(s): %ss , R N(# t superR t __init__R t _labeledR R R t popt NoneR t FalseR t TrueR t __class__t
ComparatorR R R R R R R t reversedt getattrt TypeErrort __name__t joint sortedt keysR t set_creation_ordert _strategy_lookupR ( t selfR t kwargst ct colR ( ( sN /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/properties.pyR! , s@ K%( %
s sqlalchemy.orm.states sqlalchemy.orm.strategiesc C@ s+ | j j | j j | j | j | j S( N( t
InstanceStatet" _instance_level_callable_processort parentt
class_managert LoadDeferredColumnst key( R2 t statet
strategies( ( sN /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/orm/properties.pyt&