Я предупреждаю против этого.Есть редкие исключения, когда это оправдано, но почти всегда лучше избегать такого рода хакерских решений.Однако, если вы хотите, вы можете использовать vars()
, чтобы получить словарь атрибутов и выполнить его.Как указывает @Nick ниже, App Engine использует свойства вместо значений для определения своих членов, поэтому вы должны использовать getattr()
для получения их значений.
results = q.fetch(5)
for p in results:
for attribute in vars(p).keys()
print '%s = %s' % (attribute, str(getattr(p, attribute)))
Демонстрация того, что vars()
делает:
>>> class A:
... def __init__(self, a, b):
... self.a = a
... self.b = b
...
>>> a = A(1, 2)
>>> vars(a)
{'a': 1, 'b': 2}
>>> for attribute in vars(a).keys():
... print '%s = %s' % (attribute, str(getattr(a, attribute)))
...
a = 1
b = 2