Module ImportFrom alias ImportFrom alias ImportFrom alias alias ImportFrom alias Assign NameStore Call NameLoad Str Str FunctionDef arguments args NameParam defaults body Return BinOpMod Str TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str If UnaryOpNot Call NameLoad NameLoad Str body Raise Call AttributeLoad NameLoad attr Str If CompareEq AttributeLoad AttributeLoad AttributeLoad NameLoad attr attr attr Str body Raise Call AttributeLoad NameLoad attr Str TryExcept body Return Call AttributeLoad AttributeLoad NameLoad attr attr keyword AttributeLoad NameLoad attr keyword Call NameLoad NameLoad handlers ExceptHandler type NameLoad body Raise Call NameLoad Str decorator_list FunctionDef arguments args NameParam defaults kwarg body Expr Str Return Call AttributeLoad AttributeLoad NameLoad attr attr keyword Call NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults kwarg body Expr Str If CompareIs AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Raise Call NameLoad Str Return Call AttributeLoad AttributeLoad NameLoad attr attr keyword Call NameLoad NameLoad NameLoad decorator_list
N/A django.core exceptions django.db IntegrityError oscar.apps.offer.models Benefit Condition oscar.core.loading get_model N/A Range N/A get_model offer Range _class_path N/A N/A klass N/A N/A N/A N/A %s.%s N/A N/A klass __module__ N/A klass __name__ N/A create_range N/A N/A range_class N/A N/A N/A 
    Create a custom range instance from the passed range class

    This function creates the appropriate database record for this custom
    range, including setting the class path for the custom proxy class.
     N/A N/A N/A hasattr range_class name N/A N/A N/A N/A exceptions ValidationError A custom range must have a name attribute N/A N/A N/A N/A N/A range_class name __class__ __name__ __proxy__ N/A N/A N/A N/A exceptions ValidationError Custom ranges must have text names (not ugettext proxies) N/A N/A N/A N/A N/A N/A Range objects create name N/A range_class name proxy_class N/A _class_path range_class N/A N/A N/A IntegrityError N/A N/A N/A ValueError The passed range already exists in the database. N/A create_condition N/A N/A condition_class N/A kwargs N/A N/A 
    Create a custom condition instance
     N/A N/A N/A N/A Condition objects create proxy_class N/A _class_path condition_class kwargs N/A create_benefit N/A N/A benefit_class N/A kwargs N/A N/A 
    Create a custom benefit instance
     N/A N/A N/A benefit_class description N/A Benefit description N/A N/A N/A RuntimeError Your custom benefit must implement its own 'description' property N/A N/A N/A N/A Benefit objects create proxy_class N/A _class_path benefit_class kwargs N/A