このマッパーを定義しました:
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をフラグ列の文字列または整数に置き換えてフラグを比較すると、適切な動作が得られますが、日付を使用したいと思います。
どんな助けでも大歓迎です。
ありがとう、
リチャード・ロペス