Разработать расширение для SQLAlchemy

Цена договорная
28 ноября 2022, 13:53 • 3 отклика • 29 просмотров
Требуется человек с глубоким знанием и опытом работы с SQLAlchemy Core+ORM, желательно лазивший по "внутренностям". Необходимо разработать расширение (или вроде того) для данной библиотеки.

Собственно, суть проблемы описана в вопросе на StackOverflow (https://stackoverflow.com/questions/74593533/eager-load-full-chain-of-self-relations-in-sqlalchemy). Но все же повторюсь. Нужно иметь возможность создания для модели отношения на ту же таблицу с рекурсивным eager loading'ом всей цепочки связей. API этого дела я вижу примерно следующим образом:

Base = declarative_base()
class Node(Base):
__tablename__ = 'node'
id = Column(Integer(), primary_key = True)
prev_id = Column(Integer(), ForeignKey(id))
prev = recursive_relationship('Node', uselist = False) # recursive_relationship - ваша функция

Таким образом, откуда бы ни был получен объект Node, у него в обязательном порядке должно быть загружено свойство prev, и свойство prev того prev'а, и т.д., пока prev_id в БД не окажется равен null. Решение не обязательно должно быть универсальным для всех БД, главное - поддержка Postgres. Высокая производительность не принципиальна, хоть и желательна. Если что-то непонятно - обращайтесь, разъясню суть поподробнее.

Также вы можете предложить иную реализацию, если видите проблемы с таким API или так будет сложно и долго делать. Главное - простота применения. А также скорость разработки. Вечер среды - крайний срок. Цена обсуждаема.
Отзывы
 
~ 2 месяца назад
R50 4154bccc6206a3fdcd2f43e58ad30b7e
Фрилансер
 
~ 2 месяца назад