5
我使用SQLAlchemy的配方here奇蹟般地JSON編碼/在我的模型解碼從DB列,如:SQLAlchemy的列同義詞與不同類型的
class Thing(Base):
__tablename__ = 'things'
id = Column(Integer(), primary_key=True)
data = Column(JSONEncodedDict)
我碰釘子的時候我想創造一個在我的模型額外的「raw_data」字段訪問相同的底層JSON數據,但沒有編碼/解碼它:
raw_data = Column("data", VARCHAR)
SQLAlchemy中似乎得到由名稱衝突困惑,並留下一列未映射。有什麼方法可以說服SQLAlchemy實際將兩個屬性映射到同一列?
存在2個問題:1)它不能正確處理就地突變,2)對每個屬性訪問都解析JSON。 – 2012-02-03 12:01:41
@Denis:就地變異跟蹤幾乎是正交的。我一直在修補它,並且比文檔中的示例暗示的更多:https://gist.github.com/1730610。 – 2012-02-03 15:29:46
@DenisOtkidach,第二個問題很容易通過緩存來解決。這是過早的優化,所以我沒有立即包括它。我並沒有特別的SQLAlchemy經驗,但從我收集的這個解決方案並不罕見。 – 2012-02-04 04:53:33