2017-10-25 11 views
0

내가 쿼리의 값을 얻기 위해 노력하고 있어요 :플라스크 : jinja2에서 어떻게 합계와 개수로 그룹에 액세스합니까?

내 신사 코드에서
total_sales = (Model.query 
       .with_entities(Model.dept_name, 
           sa.func.sum(Model.sales), 
           sa.func.count(Model.sales)) 
       .filter(Model.companyid == companyid) 
       .filter(Model.sales> 0) 
       .group_by(Model.companyid, Model.dept_name) 
       .all()) 

내가 가진 :

{% for item in total_sales %} 
      <tr> 
       <td>{{ item.dept_name}}</td> 
      </tr> 
      <tr> 
       <td>{{ item.sum }}</td> 
      </tr> 
      <tr> 
       <td>{{ item.count }}</td> 
      </tr> 
     {% endfor %} 

DEPT_NAME가 표시하지만 item.sum이 표시되지 않고 item.count가 나타난다 as <built-in method count of result object at 0x000002DEA910D098>

내가 print(total_sales) 인 경우 튜플 목록으로 쿼리 결과를 볼 수 있습니다. 내 jinja 파일에서이 파일에 어떻게 액세스합니까?

답변

2

함수 결과에 레이블을 추가해야 더 명확하게 액세스 할 수 있습니다. 같은 템플릿에 countsum을 사용하고 있기 때문에, 그것은 것 : I [1]`와`항목을 내가 합계를 액세스 할 수 있음을 파악하고 항목 '으로 간주 할 수 있었다

sa.func.sum(Model.sales).label('sum'), 
sa.func.count(Model.sales).label('count') 
+0

[2]' 각기. 그러나 예제에서 레이블을 추가하고'item.sum'과'item.count'로 액세스 할 수 있습니다. 나는 또한 테이블 레이아웃을 고쳤다. (stackoverflow가 아닌). – spitfiredd