Как перебрать getattr в пониомеле select? - PullRequest
0 голосов
/ 22 июня 2019

Я вижу, что возможно следующее:

attr_name = 'name'
param_value = 'John'
select(getattr(c, attr_name) for c in Customer)

Однако для этого я получаю ошибку:

attrs = ['id', 'name']
select((getattr(c, attr) if for attr in attr_name) for c in Customer)

Есть какие-нибудь идеи, если это возможно сделать в операторе select?(т.е. не тянет все, а затем только тянет интересующие меня столбцы)

Это почти тот же сценарий использования, что и здесь:

https://docs.ponyorm.org/api_reference.html#getattr

1 Ответ

0 голосов
/ 28 июня 2019

Это делает трюк, но это не входит в оператор select:

attrs = ['id', 'name']
for attr in attrs:
    select(getattr(c, attr) for c in Customer)
...