Använd inte fetchall()
(som returnerar en lista, som aldrig är "större än 0"), använd 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()
returnerar None
om det inte finns något att hämta och testning mot is not None
ger dig ett praktiskt booleskt värde att returnera direkt.