我想向sqlalchemy模型中的列添加一個自定義屬性「searchable」。目的是爲這些列提取數據(使用ModelFoo .__ table __。columns)並將數據放入solr。有沒有一種方法可以使用自定義屬性來標記某些列?在sqlalchemy表中標記列
class ModelFoo(AppBase):
__tablename__ = 'foo'
id = Column("id", Integer, primary_key=True, autoincrement=True)
os = Column(String, nullable=False, searchable=True)
platform = Column(String, searchable=True)
默認情況下,我得到以下錯誤,當我嘗試以上:
sqlalchemy.exc.ArgumentError: Unknown arguments passed to Column: ['searchable']
我正在尋找一種通用的方式來增加只是「搜索」欄SOLR,沿着這些路線的東西:
for table in Base.metadata.tables.values():
keys = [str(key) for key in table.columns if key.searchable]
solr.add(session.query(*keys).all())
在上面的代碼
,我找了一些短期的解決方案或替代得到「key.searchable」工作。希望澄清這個問題。
你的問題是有點未清除。你想要什麼數據,你把數據放在哪裏? –
我想只將某些字段的數據放入solr,而不是整個對象,如下所示:http://opensource.timetric.com/sunburnt/addingdocuments.html –