@classmethod
def translate_db_fields(cls, data):
    """
        Translates field names from the database into field names used in our model

        this is for cases where we're saving a field under a different name than it's model property

        :param data: dict
        :rtype: dict
        """
    dst_data = data.copy().get('_properties', {})
    if data.get('_id', None):
        dst_data.update({'_id': data.copy().get('_id')})
    for name, prop in cls._properties.items():
        if prop.db_field_name in dst_data:
            dst_data[name] = dst_data.pop(prop.db_field_name)
        elif name in dst_data:
            dst_data[name] = dst_data.pop(name)
    return dst_data
