Hallo,
C & P mache ich nur ungern, wenn ich den Code selber nicht verstehe.
Sagen wir mal so: die meisten von uns - und da schließe ich mich explizit mit ein - werden den Code der Module, die wir einsetzen, nicht verstehen
Bei WTForms z.B. leitest du dir auch eigne Klassen ab und zu wissen, was die Basisklasse macht. Und warum da die Attribute so definiert werden, wie es halt gemacht wird, ist den meisten wahrscheinlich auch nicht klar.
Die Alternative zur Lösung von Sirius wäre noch, dass du den "Choose an Option" Eintrag regulär einfügst und dann auf der Webseite per JavaScript deaktivierst. Wobei das eigene Widget IMHO deutlich eleganter ist.
Und nochmal kurz zu Django: in einer meiner Apps leite ich eine Form aus einem Model für die DB ab. Beim Rendern der Form im Template ist der 1. automatisch `-------`. Diese ist zwar auswählbar, allerdings validiert die Form nicht, wenn man diesen Eintrag wählt.
Ich habe früher ja auch Bottle + WTForms + SQLAlchemy eingesetzt. Was ich selber aber bei Django _wesentlich_ angenehmer finde ist, dass alles unter einer Haube ist und damit sehr gut integriert. Was nicht heißt, dass Django per se besser und alles andere keine Existenzberechtigung.
Gruß, noisefloor