【问题标题】:how to iterate over ponyorm entity object如何遍历 ponyorm 实体对象
【发布时间】: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 值? 非常感谢,

【问题讨论】:

    标签: python postgresql orm ponyorm


    【解决方案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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-08
      • 2013-01-01
      • 2019-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多