code: def get_rows(self):
          
          try:
              rows = []
              if self.formset_class is None:
                  formset = []
              else:
                  formset = self.get_formset()
                  formset.is_valid()
              for datum, form in six.moves.zip_longest(self.filtered_data,
                                                       formset):
                  row = self._meta.row_class(self, datum, form)
                  if self.get_object_id(datum) == self.current_item_id:
                      self.selected = True
                      row.classes.append('current_selected')
                  rows.append(row)
          except Exception:
              # Exceptions can be swallowed at the template level here,
              # re-raising as a TemplateSyntaxError makes them visible.
              LOG.exception("Error while rendering table rows.")
              exc_info = sys.exc_info()
              raise six.reraise(template.TemplateSyntaxError, exc_info[1],
                                exc_info[2])
          return rows
docs: Return the row data for this table broken out by columns.
  
          The row objects get an additional ``form`` parameter, with the
          formset form corresponding to that row.