Kurz formuliert: Wie gehe ich mit "leeren" Strings (länge also 0) in einer PostgreSQL-Datenbank um, wenn ich auf diese per SQLAlchemy zugreifen möchte? In Python wird das ja nicht zu einem String der Länge 0, sondern zu 'None', was wiederum kein String ist.
In Python ist das Feld (bzw. Spalte) so deklariert.
Code: Alles auswählen
__note = sa.Column('note', sa.String)

Code: Alles auswählen
note text
Nun kann das Feld auch 'Null' sein, was in Python zu einem 'None' führt.
Das wiederum führt natürlich zu Fehlern, wenn ich sowas in ein GUI-Element (z.B. Textfeld) einfügen möchte, wo dort ein String erwartet wird.
Gibt es die Möglichkeit einen Leerenstring (Länge 0) als default-Wert zu definieren? pgAdmin hat das nicht zugelassen.
Die Klassenbeschreibung zu String ist in der sqlalchemy-doc wenig hilfreich. Daher weiß ich nicht, wie ich damit am elegantesten umgehen soll.
[url]file:///usr/share/doc/python-sqlalchemy-doc/html/core/types.html#generic-types[/url]
Die Länge kann ich nicht prüfen, weil 'None' kein String ist. Ein '__note == None' weißt er mit 'invalid syntax' zurück.