Не използвайте fetchall()
(което връща списък, който никога не е „по-голям от 0“), използвайте 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()
връща None
ако няма нищо за извличане и тестването срещу is not None
ви дава удобна булева стойност за директно връщане.