2016-12-09 3 views
1

私はlast_namemrnの患者を印刷しているという見解があります。特定の診断は患者のために複数回与えられることができるので、患者と診断によってグループ分けしたいと思う。Jinja2テンプレートを使用してネストされたgroupbyを追加する方法

私は狂ったようにグーグルで、達成しようとしているようにネストされたgroupbyフィルタを適用しても何も見つかりませんでした(私の使用例はあまり一般的ではないので信じがたいです)。いずれの場合においても

は、私は様々な入れ子の戦略を試してみましたが、私が思い付くことができる最高だった:

{% for item in patient_diagnoses %} 
    {% for group in patient_diagnoses | groupby('dx_name') %} 
     {{ group.grouper }}: {{ group.list | groupby('mrn') }} 

    {% endfor %} 

    mrn: {{ item.mrn }} dx: {{ item.dx_name }} 
{% endfor %} 

この作品、一種のが、代わりに、単一の行出力の、私は2行を取得しています(私は確認し、特定の患者は同じタイプの8つの診断を持っています)。私はJinja2をあまり経験していないため、私の実装はちょっと難しいと思っています。

EDIT(SQLAlchemyのから返された)

データが唯一の違いはdx_dateことで、次のようになります。

{'dx_name': u'Atrial septal defect', 'first_name': u'Test', 'last_name': u'Patient', 'mrn': u'12345678', 'dx_date': u'1/28/2015'} 

{'dx_name': u'Atrial septal defect', 'first_name': u'Test', 'last_name': u'Patient', 'mrn': u'12345678', 'dx_date': u'1/28/2014'} 

{'dx_name': u'Atrial septal defect', 'first_name': u'Test', 'last_name': u'Patient', 'mrn': u'12345678', 'dx_date': u'1/28/2013'} 

{'dx_name': u'Atrial septal defect', 'first_name': u'Test', 'last_name': u'Patient', 'mrn': u'12345678', 'dx_date': u'1/28/2012'} 

{'dx_name': u'Atrial septal defect', 'first_name': u'Test', 'last_name': u'Patient', 'mrn': u'12345678', 'dx_date': u'1/28/2011'} 

を...

このように、私が見たいのですがテンプレートにレンダリングされるインスタンスは1つだけです:

mrn: 12345678 dx: Atrial septal defect 

しかし、これは2つではなく1つを印刷しています。

答えて

0

周りfutzingの多くの後、私はそれを得た:

{% for group in value_columns | groupby('dx_name') %} 
    {% for group2 in group.list | groupby('mrn') %} 
     mrn: {{ group2.grouper }} dx: {{ group.grouper }} 
    {% endfor %} 
{% endfor %} 

は私に所望の単一のインスタンスを提供します。底のものは気が散っていた。

関連する問題