Nie używaj fetchall()
(co zwraca listę, która nigdy nie jest „większa niż 0”), użyj 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()
zwraca None
jeśli nie ma nic do pobrania, a testowanie z is not None
daje przydatną wartość logiczną do bezpośredniego zwrócenia.