如何遍历 ponyorm 实体对象
Posted
技术标签:
【中文标题】如何遍历 ponyorm 实体对象【英文标题】:how to iterate over ponyorm entity object 【发布时间】:2017-02-21 15:16:00 【问题描述】:我正在使用 ponyORM 并且我对 PeopleModel 进行查询”例如:
first_name = "avi"
sqlObject = select(p for p in PeopleModel if raw_sql('( lower(first_name) = lower($first_name))
sqlObject 对象按预期返回 PeopleModel 列表,并且完美。 现在我想打印所有 PeopleModel 值,我希望这样的东西可以工作:
for people_model_key,people_model_value in sqlObject.items():
print(people_model_value)
但它不起作用..
如何打印所有 people_model 值? 非常感谢,
【问题讨论】:
【参考方案1】:select
函数的结果是一个查询对象:
first_name = "avi"
people = select(p for p in PeopleModel
if raw_sql('( lower(first_name) = lower($first_name))
它不是字典,所以它没有items
方法。如果你遍历它,你会得到对象。您可以按常规方式访问对象属性:
for person in people:
print('name:', person.name)
print('age:', person.age)
如果要将对象转换为字典,可以使用to_dict
方法:
for person in people:
for key, value in person.to_dict().items():
print(key, value)
【讨论】:
以上是关于如何遍历 ponyorm 实体对象的主要内容,如果未能解决你的问题,请参考以下文章
如何从 ManagedObjectContext 中删除给定实体的所有对象