N'utilisez pas fetchall()
(qui renvoie une liste, qui n'est jamais "plus grande que 0"), utilisez 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()
renvoie None
s'il n'y a rien à récupérer et que le test par rapport à is not None
vous donne une valeur booléenne pratique à renvoyer directement.