2016-02-01 40 views
0
 all_hero = db.session.query(HeroModel.hero_metadata_id, HeroModel.enchant_level, HeroModel.is_evolve, 
           HeroModel.skill_1_level, HeroModel.skill_2_level, HeroModel.skill_3_level, 
           HeroModel.equipment_id_accessory, HeroModel.equipment_id_weapon, 
           HeroModel.soul_stone, HeroModel.state).\ 
     filter(HeroModel.id.in_(hero_ids)). \ 
     all() 

我无法访问all_hero与属性如“all_hero.state”SQLAlchemy的session.query结果不具有列名

,并且还导致被印刷像这样 { “英雄”:[ [

 0: 1, 
     1: 0, 
     2: false, 

...

我想要的结果是

'hero_metadata_id':1,

“hero_enchant_level:0

....

帮我...

回答

0

您提供列的列表对查询,所以SQLAlchemy通过返回列列表进行响应。如果您想要对象访问您的属性,您应该查询HeroModel实体。

# returns a list of model instances matching the ids in hero_ids 
all_hero = db.session.query(HeroModel).\ 
     filter(HeroModel.id.in_(hero_ids)). \ 
     all() 

# access attributes on the model instances 
for hero_instance in all_hero: 
    print(hero_instance.hero_metadata_id)