У меня определен этот маппер:
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 старой строки в отношении к старой дате,свойство parent не обновляется.Кроме того, если перезагрузить строку ресурса, отображается старая связь со старой датой, так что я почти уверен, что это связано со сравнением дат в маппере.
Если я заменим end_date на столбец флагастрока или целое число и сделать сравнение на флаге, я получаю правильное поведение, но я действительно хочу использовать даты.
Любая помощь приветствуется.
Спасибо,
РичардLopes