TypeError: expected string or bytes-like object error when checking the bcrypt hash in python

Authorization code

class Login(Screen):
    def do_login(self, loginText, passwordText):

        app = App.get_running_app()
        app.username = loginText
        app.password = passwordText

        passwordText = passwordText.encode("utf8")

        conn = sqlite3.connect("users.db")
        cursor = conn.cursor()

        cursor.execute("SELECT password FROM users WHERE login=?", (loginText,))
        hashed_password = cursor.fetchone()


        def checkPassword(password):
            if bcrypt.checkpw(password, hashed_password):
                return true

        cursor.execute("SELECT * FROM users WHERE login=?", (loginText,))

        rows = cursor.fetchall()

        if((len(rows) > 0) and checkPassword(passwordText)):
            self.manager.transition = SlideTransition(direction="left")
            self.manager.current = 'connected'
        else:
            print("Неверный логин или пароль")

Registration code

class Register(Screen):

    def disconnect(self):
        self.manager.transition = SlideTransition(direction="right")
        self.manager.current = 'login'
        self.manager.get_screen('login').resetForm()

    def do_register(self, loginText, passwordText):
        passwordText = passwordText.encode('utf8')
        if(len(loginText) < 5):
            print('Имя пользователя должно содержать больше 4 символов')
        else:
            if(len(passwordText) < 6):
                print('Пароль должен содержать больше 5 символов')
            else:
                conn = sqlite3.connect('users.db')
                cursor = conn.cursor()
                cursor.execute("SELECT * FROM users WHERE login=?", (loginText,))
                rows = cursor.fetchall()
                if(len(rows) == 0):

                    def hash_password(password):
                        salt = bcrypt.gensalt()
                        return bcrypt.hashpw(password, salt)

                    user = [loginText, hash_password(passwordText)]

                    try:
                        cursor.execute("INSERT INTO users VALUES (NULL, ?, ?)", user)
                    except sqlite3.DatabaseError as error:
                        print ("Ошибка: ", error)
                    else:
                        conn.commit()
                        conn.close()
                        self.manager.transition = SlideTransition(direction="right")
                        self.manager.current = 'login'
                        self.manager.get_screen('login').resetForm()
                else:
                    print('Имя пользователя уже используется')

Registration is fine, but when logging in, it throws an error: TypeError: expected string or bytes-like object.

Sqlite database, hashed using bcrypt.

Author: Skullage, 2020-03-30