У меня следующий запрос:
refund_requests = RefundRequest.query\
.with_entities(RefundRequest.id, User.email)\
.join(User, User.id == RefundRequest.user_id) \
.join(UserProperty, UserProperty.id == User.id) \
.join(RefundRequestDetails, RefundRequestDetails.refund_requests_id == RefundRequest.id) \
.join(Currency, RefundRequestDetails.currency_id == Currency.id) \
.join(RefundRequest.project).all()
Это работает, но как динамически загрузить все атрибуты из RefundRequest и всех связанных моделей?
Я знаю, что могу выбрать все атрибуты внутриФункция with_entitites () (в приведенном выше коде я выбираю только идентификатор и адрес электронной почты из модели пользователя), но я не хочу перечислять все 50 атрибутов.
Я также знаю, что, удалив функцию with_attributes (), я могу получить доступс другими атрибутами модели, используя отношения, но в моем коде я создаю список строк, который представляет имя каждого столбца (атрибута).Этот список динамически создается пользователем - я не знаю, какое значение выбрал пользователь в fontend.Например, этот список выглядит следующим образом:
list_of_attr = ['id', 'email', 'full_name']
full_name - это атрибут UserProperty.