Сделайте unique index на атрибут nickname в модельке User. Как-то так:
nickname = Column(..., unique=True)
И проверяйте так:
try:
user = User.query.filter_by(nickname=user.nickname).one()
except NoResultFound:
# ник уникален
pass
else:
# ник не уникален
pass
p.s. Если не нужен результат результат запроса, то можно посмотреть на
exists(). Не думаю, что оно критично для подобного рода задач, однако с ним выгрузки данных не происходит.