Eftersom du använder Python 2.7 måste du ange att din sträng innehåller unicode.
>>> db.session.add(Users(u'ä'))
Du kan också använda en framtida import för att behandla alla strängar som unicode.
from __future__ import unicode_literals
Alternativt kan du uppgradera din version av Python. 2.7 är den sista versionen som behandlar strängar som byte snarare än unicode.
Redigera
Du måste också uppdatera din __repr__
så att den hanterar unicode korrekt.
def __repr__(self):
return self.name.decode('utf-8')
eller vilken kodning du vill använda.
I allmänhet måste du se till att du hanterar kodning från och avkodning till unicode. Jag kan inte uppmana dig nog att överväga att använda en nyare version av Python. En av de största förändringarna i Python 3 tar upp just detta problem.