def create_instance(self, collection_or_class, attributes, lazy=False, call_hook=True, deserialize=True, db_loader=None):
        """
        Creates an instance of a `Document` class corresponding to the given collection name or class.

        :param collection_or_class: The name of the collection or a reference to the class for which to create an instance.
        :param attributes: The attributes of the instance to be created
        :param lazy: Whether to create a `lazy` object or not.

        :returns: An instance of the requested Document class with the given attributes.
        """
        creation_args = {
            'backend' : self,
            'autoload' : self._autoload_embedded,
            'lazy' : lazy,
            'db_loader' : db_loader
        }

        if collection_or_class in self.classes:
            cls = collection_or_class
        elif collection_or_class in self.collections:
            cls = self.collections[collection_or_class]
        else:
            raise AttributeError("Unknown collection or class: %s!" % str(collection_or_class))

        #we deserialize the attributes that we receive
        if deserialize:
            deserialized_attributes = self.deserialize(attributes, create_instance=False)
        else:
            deserialized_attributes = attributes

        if 'constructor' in self.classes[cls]:
            obj = self.classes[cls]['constructor'](deserialized_attributes, **creation_args)
        else:
            obj = cls(deserialized_attributes, **creation_args)

        if call_hook:
            self.call_hook('after_load',obj)

        return obj
def create_instance ( self , collection_or_class , attributes , lazy = False , call_hook = True , deserialize = True , db_loader = None ) : creation_args = { 'backend' : self , 'autoload' : self . _autoload_embedded , 'lazy' : lazy , 'db_loader' : db_loader } if collection_or_class in self . classes : cls = collection_or_class elif collection_or_class in self . collections : cls = self . collections [ collection_or_class ] else : raise AttributeError ( "Unknown collection or class: %s!" % str ( collection_or_class ) ) if deserialize : deserialized_attributes = self . deserialize ( attributes , create_instance = False ) else : deserialized_attributes = attributes if 'constructor' in self . classes [ cls ] : obj = self . classes [ cls ] [ 'constructor' ] ( deserialized_attributes , ** creation_args ) else : obj = cls ( deserialized_attributes , ** creation_args ) if call_hook : self . call_hook ( 'after_load' , obj ) return obj
Creates an instance of a `Document` class corresponding to the given collection name or class.

        :param collection_or_class: The name of the collection or a reference to the class for which to create an instance.
        :param attributes: The attributes of the instance to be created
        :param lazy: Whether to create a `lazy` object or not.

        :returns: An instance of the requested Document class with the given attributes.