Da du bruger Python 2.7, skal du angive, at din streng indeholder unicode.
>>> db.session.add(Users(u'ä'))
Du kan også bruge en fremtidig import til at behandle alle strenge som unicode.
from __future__ import unicode_literals
Alternativt kan du opgradere din version af Python. 2.7 er den sidste version, der behandler strenge som bytes i stedet for unicode.
Rediger
Du skal også opdatere din __repr__
så den håndterer unicode korrekt.
def __repr__(self):
return self.name.decode('utf-8')
eller hvilken som helst kodning du vil bruge.
Generelt skal du sørge for at håndtere kodning fra og afkodning til unicode. Jeg kan ikke opfordre dig nok til at overveje at bruge en nyere version af Python. En af de største ændringer i Python 3 løser netop dette problem.