def get_model_manager_choices():
    choices = {}
    for key in settings.DISPLAYABLE_MODELS:
        model_class = DynamicImport.import_class(key) 
        for attr, value in model_class.__dict__.iteritems():
            if(isinstance(value, ManagerDescriptor) and attr != 'objects'):
                choices[key + ':' + value.manager.__class__.__name__] = \
                            value.manager.__class__.__name__ + ' [' + model_class.__name__ + ']'

    return choices.items()
    def render(self, context, instance, placeholder):
        mcd = instance.model_content_descriptor

        pieces = mcd.model_manager.split(':')
        fully_qualified_model_class = pieces[0]
        manager_class = pieces[1]
        model_class = DynamicImport.import_class(fully_qualified_model_class)
         
        manager = self.get_manager_object(model_class, manager_class)
        self.render_template = mcd.template
        
        context.update({'model_collection': manager,
                        'object': instance,
                        'placeholder': placeholder})
        return context
    def render(self, context, instance, placeholder):
        mcd = instance.model_content_descriptor

        pieces = mcd.model_manager.split(':')
        fully_qualified_model_class = pieces[0]
        manager_class = pieces[1]
        model_class = DynamicImport.import_class(fully_qualified_model_class)

        manager = self.get_manager_object(model_class, manager_class)
        self.render_template = mcd.template

        context.update({
            'model_collection': manager,
            'object': instance,
            'placeholder': placeholder
        })
        return context