<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def find_models(self, constructor, constraints=None, *, columns=None, order_by=None, limiting=None, table_name=None):
 """Specialization of DataAccess.find_all that returns models instead of cursor objects."""

    return self._find_models(
      constructor, table_name or constructor.table_name, constraints, columns=columns,
      order_by=order_by, limiting=limiting)