code: def chooseForm_slot(self, element, element_old):
          
  
          self.current_slot = None
  
          if (verbose):
              # enable this if you're unsure what's coming here..
              print(self.pre, "chooseForm_slot :", element)
          if (isinstance(element, type(None))):
              self.current_row = None
              self.element = None
          else:
              # print(self.pre,"chooseForm_slot :",element)
              assert(hasattr(element, "_id"))
              assert(hasattr(element, "classname"))
              try:
                  self.current_row = self.row_instance_by_name[element.classname]
              except KeyError:
                  print(
                      self.pre,
                      "chooseForm_slot : no such classname for this FormSet : ",
                      element.classname)
                  self.current_row = None
                  self.element = None
              else:
                  self.resetForm()
                  self.current_row.get(self.collection, element._id)
                  self.element = element
                  self.current_slot = self.current_row.get_column_value("slot")
  
          self.showCurrent()
docs: Calling this slot chooses the form to be shown
  
          :param element:      an object that has *_id* and *classname* attributes
          :param element_old:  an object that has *_id* and *classname* attributes
  
          This slot is typically connected to List classes, widget attribute's, currentItemChanged method (List.widget is QListWidget that has currentItemChanged slot), so the element and element_old parameters are QListWidgetItem instances with extra attributes "_id" and "_classname" attached.
  
          Queries the database for element._id