Expects a list of dictionaries with ``k`` and ``v`` set to the
            keys and values that will be unwrapped into the output python
            dictionary should have

def validate_unwrap(self, value):
        ''' Expects a list of dictionaries with ``k`` and ``v`` set to the
            keys and values that will be unwrapped into the output python
            dictionary should have
        '''

        if not isinstance(value, list):
            self._fail_validation_type(value, list)
        for value_dict in value:
            if not isinstance(value_dict, dict):
                cause = BadValueException('', value_dict, 'Values in a KVField list must be dicts')
                self._fail_validation(value, 'Values in a KVField list must be dicts', cause=cause)
            k = value_dict.get('k')
            v = value_dict.get('v')
            if k is None:
                self._fail_validation(value, 'Value had None for a key')
            try:
                self.key_type.validate_unwrap(k)
            except BadValueException as bve:
                self._fail_validation(value, 'Bad value for KVField key %s' % k, cause=bve)

            try:
                self.value_type.validate_unwrap(v)
            except BadValueException as bve:
                self._fail_validation(value, 'Bad value for KFVield value %s' % k, cause=bve)
        return True