0
我有這樣的映射定義:Sqlalchemy - 我們可以在關係定義中使用日期比較嗎?
mapper(Resource, resource_table,
properties = {'type' : relation(ResourceType,lazy = False),
'groups' : relation(Group, secondary = model.tables['resource_group'],
backref = 'resources'),
'parent' : relation(Relation, uselist=False, primaryjoin =
and_(relation_table.c.res_id == resource_table.c.res_id,
relation_table.c.end_date > datetime.now())),
'children' : relation(Relation, primaryjoin =
and_(relation_table.c.parent_id == resource_table.c.res_id,
relation_table.c.end_date > func.now()))})
但由於某些原因,如果我創建的關係表一個新行,改變舊行的END_DATE在關係到舊的日期,物業父未更新。 此外,如果重新加載資源行,舊的關係與舊的日期顯示,所以我很確定它必須與在映射器中的日期比較。
如果我用一個標誌列字符串或整數代替end_date並對該標誌進行比較,我會得到正確的行爲,但我確實想使用日期。
任何幫助,歡迎。
感謝,
理查德·洛佩斯
實際上,如果您運行的代碼需要超過1秒鐘,則此解決方案不夠可靠。所以,你需要花更多的時間,或者依賴於更安全的選項end_date之上的布爾標誌。 – 2010-03-15 02:54:43