У меня есть модель, в которой есть соревнования и участники .
Модель
Участник имеет отношение к Соревнование
+ обратная связь с Соревнование в сторону Участник
competition = relationship(
"Competition", backref=backref("contestants", order_by="Contestant.place.asc()")
)
Цель / Требуемый результат
Цель должен получить "братьев и сестер" текущего участника (включая себя)
Вариант использования
У каждого участника есть интерфейс, в котором он видит список всех соревнований, в которых участвовал - у каждого элемента списка есть детали - кто в итоге оказался на каком месте в этом конкурсе, упорядоченный от низкого до высокого - список результатов для «Я» может выглядеть так:
Competition 1
Place 1: Me
Place 2: SomeOneElse
Place 3: AnotherPerson
Competition 2
Place 1: SomeOneElse
Place 2: Me
Place 3: AnotherPerson
Вопрос
Теперь я думаю, что смогу с go по
contestant.competition.contestants
... но это похоже на движение туда-сюда - есть ли более прямой путь? может быть какое-то объединение определений в отношениях?
Или есть какие-то отношения "родных братьев" (аналогично тому, как существуют самореферентные - или, может быть, что-то происходит от этого?)
Примечание: Обратите внимание, что я не ищу для самоссылки на себя в виде дерева «родитель-потомок» - но для ссылки на моих братьев и сестер через другую таблицу. Также обязателен внутренний порядок по месту.
Спасибо!