<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def list_migrations(self):
 """ Returns a tuple of unapplied, current "Unapplied" is a list of unapplied migrations. "Current" is a list of the current migration states for apps with unapplied migrations. Both are tuples of the form (app, migration_name). """

        connection = connections[self._database_name]
        loader = MigrationLoader(connection, ignore_no_migrations=True)
        unapplied = self._get_unapplied_migrations(loader)
        currents = self._get_current_migration_state(loader, [u[0] for u in unapplied])
        return unapplied, currents