Construct an object an mass-assign its attributes using +kwargs+,
        ignoring all protections of id and created_at. Intended for
        constructing objects already present in the database (i.e for use by
        methods such as find or within Query).

def from_dict(cls, **kwargs):
        """
        Construct an object an mass-assign its attributes using +kwargs+,
        ignoring all protections of id and created_at. Intended for
        constructing objects already present in the database (i.e for use by
        methods such as find or within Query).
        """
        # Create the object
        obj = cls()
        # By default, objects are initialized with attribute values of None
        # We need to clear those out so that we get AttributeError on access
        for attr in cls.__all_attributes__:
            delattr(obj, "_" + attr)
        del obj._id
        # Set the attributes that were passed
        for attr, val in kwargs.items():
            setattr(obj, "_" + attr, val)
        return obj