1
我有一個視圖,其中我正在打印last_name
和mrn
的患者。由於患者可以多次給予特定的診斷,因此我想根據患者和診斷進行分組。如何使用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不太熟悉而感到棘手。
編輯
的數據(從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'}
...
因此,我想看看只有一個實例在我的模板上呈現:
mrn: 12345678 dx: Atrial septal defect
但是,它打印了其中的兩個,而不是一個。