Я использую SQLAlchemy 0.5rc, и я хотел бы добавить в отношение автоматический фильтр, чтобы каждый раз, когда он пытается извлечь записи для этого отношения, он игнорирует «удаленные», если они помечены as "logically_deleted" (логическое поле дочерней таблицы)
Например, если у объекта "parent" есть отношение "children", которое имеет
3 записи, но одна из них логически удалена, когда я запрашиваю «Parent», я бы хотел, чтобы SQLA
получить родительский объект только с двумя детьми ..
Как я должен это делать? Добавляя условие "и" к основному соединению
параметр отношения? (например, "Children.parent_id == Parent.id and Children.logically_deleted == False
", но правильно ли писать "и" таким образом?)
Edit:
Мне удалось сделать это таким образом
children = relation("Children", primaryjoin=and_(id == Children.parent_id, Children.logically_deleted==False))
но есть ли способ использовать строку вместо primaryjoin?