'Return an iterator for all objects stored in the underlying datastore
for the ``fields`` on the ``xblocks`` and the ``aside_types`` associated
with them.
Arguments:
fields (list of :class:`~Field`): Fields to return values for
xblocks (list of :class:`~XBlock`): XBlocks to load fields for
aside_types (list of str): Asides to load field for (which annotate the supplied
xblocks).'

def _read_objects(self, fields, xblocks, aside_types):

    return XModuleUserStateSummaryField.objects.chunked_filter('usage_id__in', _all_usage_keys(xblocks, aside_types), field_name__in=set((field.name for field in fields)))
