code: def load_cells(self, datum=None):
          
          # Compile all the cells on instantiation.
          table = self.table
          if datum:
              self.datum = datum
          else:
              datum = self.datum
          cells = []
          for column in table.columns.values():
              cell = table._meta.cell_class(datum, column, self)
              cells.append((column.name or column.auto, cell))
          self.cells = collections.OrderedDict(cells)
  
          if self.ajax:
              interval = conf.HORIZON_CONFIG['ajax_poll_interval']
              self.attrs['data-update-interval'] = interval
              self.attrs['data-update-url'] = self.get_ajax_update_url()
              self.classes.append("ajax-update")
  
          self.attrs['data-object-id'] = table.get_object_id(datum)
  
          # Add the row's status class and id to the attributes to be rendered.
          self.classes.append(self.status_class)
          id_vals = {"table": self.table.name,
                     "sep": STRING_SEPARATOR,
                     "id": table.get_object_id(datum)}
          self.id = "%(table)s%(sep)srow%(sep)s%(id)s" % id_vals
          self.attrs['id'] = self.id
  
          # Add the row's display name if available
          display_name = table.get_object_display(datum)
          display_name_key = table.get_object_display_key(datum)
  
          if display_name:
              self.attrs['data-display'] = escape(display_name)
              self.attrs['data-display-key'] = escape(display_name_key)
docs: Load the row's data and initialize all the cells in the row.
  
          It also set the appropriate row properties which require
          the row's data to be determined.
  
          The row's data is provided either at initialization or as an
          argument to this function.
  
          This function is called automatically by
          :meth:`~horizon.tables.Row.__init__` if the ``datum`` argument is
          provided. However, by not providing the data during initialization
          this function allows for the possibility of a two-step loading
          pattern when you need a row instance but don't yet have the data
          available.