from sqlalchemy.sql import select, false
stmt = select([Beard, Moustache]).select_from(outerjoin(Beard, Moustache,
    false())).apply_labels().union_all(select([Beard, Moustache]).
    select_from(outerjoin(Moustache, Beard, false())).apply_labels())
session.query(Beard, Moustache).select_entity_from(stmt)
RIGHT OUTER JOIN in SQLAlchemy