Metadata-Version: 1.0
Name: django-composition
Version: 0.2
Summary: `django-composition` provides the abstract way to denormalize data from your models in simple declarative way through special generic model field called `CompositionField`
Home-page: http://bitbucket.org/daevaorn/django-composition/
Author: Alex Koshelev
Author-email: daevaorn@gmail.com
License: New BSD License
Description: 
        `django-composition` provides the abstract way to denormalize data from your models in simple declarative way through special generic model field called `CompositionField`.
        
        Most cases of data denormalization are pretty common so `django-composition` has several "short-cuts" fields that handles most of them.
        
        ## Base concept
        
        `CompositionField` is django model field that provides interface to data denormalization.
        
        `CompositionField` constructor params:
        - native - Django field instance for current compostion field
        - trigger - one or some numberr of triggers that handle composition.
        Trigger is a dict with allowed keys:
        - on - signal or list of signals that this field handles
        - do - signals handler, with 3 params:
        - related instance
        - instance (that comes with signal send)
        - concrete signal (one from `on` value)
        - field_holder_getter - function that gets instance(that comes with signal send)\
        as parameter and returns field holder
        object (related instance)
        - sender - signal sender
        - sender_model - model instance or model name that send signal
        - commit - flag that indicates save instance after trigger appliance or not
        - commons - a trigger like field with common settings
        for all given triggers
        - update_method - dict for customization of update_method. Allowed params:
        - initial - initial value to field before applince of method
        - do - index of update trigger or trigger itself
        - queryset - query set or callable(with one param - `instance` of an holder model)
        that have to retun something iterable
        - name - custom method name instead of `update_FOO`
        
        ## Short-cuts
        
        Here is the list of provided short-cut fields:
        
        - `ForeignAttributeField`
        
        - `ChildsAggregationField`
        
        - `AtributesAggregationField`
        
Platform: UNKNOWN
Classifier: Framework :: Django
Classifier: License :: OSI Approved :: BSD License
