Всем ку, подскажите sqlalchemy разруливает ситуации когда несколько одинаковых join происходит?
например, у меня есть фабрика фильтров, которая навешивает фильтры (и join-ит соотв. таблицы) для основого запроса, в зависимости от пришедших параметров. будет ли алхимия тупо добавлять каждый джоин или дубли поубирает в процессе построения запроса?
def filter_by_role(query, value):
query = query.join(UserRoleProfile).join(RoleProfile).join(Role)
return query.filter(roles_filters[value])
def filter_by_profiles(query, value):
query = query.join(UserRoleProfile).join(RoleProfile)
return query.filter(RoleProfile.codename.in_(value))