1
我試圖創建一個函數索引(使用PostgreSQL函數lower())。我得到這個錯誤使用蒸餾器創建表時:Flask-SQLAlchemy:創建函數索引
sqlalchemy.exc.ProgrammingError: (ProgrammingError) column "lower" does not exist
'CREATE INDEX ix_cities_name ON cities (lower)' {}
下面的代碼:
from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
app = Flask(__name__)
db = SQLAlchemy(app)
class City(db.Model):
__tablename__ = 'cities'
name = db.Column(db.String(100), nullable=False)
db.Index('ix_cities_name', db.func.lower(db.metadata.tables['cities'].c.name))
這些ORM經常只理解基本的SQL功能。如果您需要手動將索引字詞編寫爲SQL文本,請不要感到驚訝。 –
根據http://docs.sqlalchemy.org/en/rel_0_8/core/constraints.html#functional-indexes它應該工作,但我得到了上述錯誤。 – user3362454