私は2つのアプローチを試みましたが、どちらも機能していませんでした。私はGoogleで検索し、適切な解決策を見つけられませんでした。私のコードは次のようになります。Sqlalchemyで一定の長さの整数を作成する方法は?
intField = Column(SmallInt(), length=5)
、エラーが言う:
Unknown arguments passed to Column: ['length']
私も、それは動作しないはずです知って、このソリューションを試してみました:
intField = Column(SmallInt(5))
をそして、それは動作しません。このSqlAlchemyデータ型は引数を受け入れないためです。
アイデア?
[更新]
私は、データベースエンジンとしてMySQL
を使用していますので、ここでの解決策は、MySQLの独自の整数型をインポートし、私はそれになりたい長さを指定することです。
上記の例では、私だけ行う必要があります:
from sqlalchemy.dialects import mysql
Integer = mysql.INTEGER
class ...
...
intField = Column(Integer(5))
しかし、より一般的なアプローチがある場合、私はまだだろうか?
数値だけを受け入れる妥当性検証を行う 'String(6)'の代わりに数値フィールドを使う理由は何ですか? – iurisilvio
検証、変換などの操作によってオーバーヘッドが増加します。計算が必要な場合は、整数で動作するPlusが高速になります。私はここで属性として 'code'を使うのはちょっと誤解を招いていると思うので、私のユースケースをより良く説明するためにそれを変更してみましょう。 – benjaminz