Como você está usando o Python 2.7, você precisa especificar que sua string contém unicode.
>>> db.session.add(Users(u'ä'))
Você também pode usar uma importação futura para tratar todas as strings como unicode.
from __future__ import unicode_literals
Alternativamente, você pode atualizar sua versão do Python. 2.7 é a última versão a tratar strings como bytes em vez de unicode.
Editar
Você também precisará atualizar seu
__repr__
para que ele manipule corretamente o unicode. def __repr__(self):
return self.name.decode('utf-8')
ou qualquer codificação que você queira usar.
Em geral, você precisará certificar-se de lidar com a codificação e a decodificação para unicode. Eu não posso exortá-lo o suficiente para considerar o uso de uma versão mais recente do Python. Uma das maiores mudanças no Python 3 aborda exatamente esse problema.