{{ for table in tables: }}

{{= table['label'] }} {{if table['appname']:}} {{= table['appname'] }} {{else:}}   {{pass}}

{{ for field in sorted(table['fields'], key=lambda x:(not x['primary_key'], x['name'])): }} {{if field['reftable']:}} {{else:}} {{pass}} {{ pass }}
P Display Fieldname Data Type Can be Null Relation
{{if field['primary_key']:}} Y {{else:}}   {{pass}} {{= field['label']}} {{if field['star']:}} {{=field['star']}} {{pass}} {{= field['name']}} {{= field['type']}} {{if field['nullable']:}}True {{else:}}   {{pass}} {{= field['reftable']}} 
    {{ if table['choices'] : }} Description:
    {{pass}} {{ for comment in table['choices']: }}
  • {{=comment['index']}}.{{=comment['fieldlabel']}}: {{ for i, value in comment['list']: }} ({{=repr(i)}},{{=value}}) {{ pass }}
  • {{ pass }}
{{ pass }}