Brug ikke fetchall() (som returnerer en liste, som aldrig er 'større end 0'), brug 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() returnerer None hvis der ikke er noget at hente, og test mod is not None giver dig en praktisk boolesk værdi at returnere direkte.