2016-11-14 5 views
0

У меня есть функция, например, так:Дети COUNT не принес, хотя запрос выбирает все остальное

@app.route('/search/') 
def search(): 
    # Handle search conditions 
    query = db.session.query(
     Parent.id, 
     Parent.name, 
     func.count(Children.id), 
    ) 
    query = query.filter(and_(*conditions)) # This comes from "Handle search conditions" 
    query = query.outerjoin((Children, Parent.children)) 
    return jsonify([row._asdict() for row in query.all()]) 

И при вызове, он правильно возвращает данные родительские:

[ 
    { 
    'id': 1, 
    'name': 'Example Parent', 
    }, 
    { 
    'id': 2, 
    'name': 'Another Parent', 
    } 
] 

Но это не вернуть счет своих детей.

Что я сделал не так, как мне это сделать, а также подсчитать количество детей?

ответ

1

Вы должны установить метку для count колонка

query = db.session.query(
    Parent.id, 
    Parent.name, 
    func.count(Children.id).label('count'), 
) 
Смежные вопросы