Não use
fetchall()
(que retorna uma lista, que nunca é 'maior que 0'), use fetchone()
:def track_exists(self, track_id):
cur = self.conn.cursor()
cur.execute("SELECT fma_track_id FROM tracks WHERE fma_track_id = %s", (track_id,))
return cur.fetchone() is not None
fetchone()
retorna None
se não houver nada para buscar e testar com is not None
fornece um valor booleano útil para retornar diretamente.