Ich habe zwei Ansätze ausprobiert und beide funktionieren nicht, ich habe auf Google gesucht und keine passenden Lösungen gefunden. Mein Code sieht so aus:Wie erstellt man eine ganze Zahl mit Sqlalchemy?
intField = Column(SmallInt(), length=5)
Und der Fehler sagt:
Unknown arguments passed to Column: ['length']
ich auch versucht, zu wissen es nicht funktionieren sollte, diese Lösung:
intField = Column(SmallInt(5))
Und es funktioniert nicht weil dieser SqlAlchemy-Datentyp keine Argumente akzeptiert.
Irgendwelche Ideen?
[Update]
Ich verwende MySQL
als Datenbank-Engine, so dass die Lösung hier ist mysql eigenen Integer-Typen zu importieren, und geben Sie dann die Länge ich es sein will.
from sqlalchemy.dialects import mysql
Integer = mysql.INTEGER
class ...
...
intField = Column(Integer(5))
Aber ich frage mich immer noch, ob es einen allgemeineren Ansatz ist:
Im obigen Beispiel würde ich nur tun müssen?
Warum ein numerisches Feld anstelle eines 'String (6)' mit Validierungen, um nur Zahlen zu akzeptieren? – iurisilvio
Das Validieren, Konvertieren und alle zugehörigen Vorgänge verursachen zusätzlichen Aufwand. Plus-Integer-Operationen sind bei Berechnungen schneller. Ich nehme an, dass 'code' als Attribut hier ein wenig irreführend ist, lassen Sie mich das ändern, um meinen Anwendungsfall besser zu erklären. – benjaminz