<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def chooseForm_slot(self, element, element_old):
 """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 """


        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()