def add(self, action=models.Report.get_or_create,
            key_mapper=mappers._report_key_mapper):
        top_level, nested_levels = self._report(action, key_mapper)
        action(**top_level)
        for nested_level in nested_levels: