Fetch child table values using Jinja tags

Jinja templating can be used to reference any field on any DocType in ERPNext. This can simply be done by calling {{doc.field_name}} on a print format, where 'doc.name' is the variable name for a certain field.

However this approach does not work for Child Tables inside a DocType. This article will help you traverse and display all rows pertaining to a child table inside any DocType.

Pre Requisites

We would require the variable name of the child table on the corresponding DocType. This can be viewed from the 'Customize Form' section for the required DocType. The same is illustrated below

We will also require the variable names of all the fields inside the child table which need to be referenced. This can be obtained from the 'Customize Form' section of the corresponding child table as shown below

Method 1. Displaying rows of a Child Table on an unordered list

    {% for row in doc.items %}
  • Item Code: {{ row.get\_formatted("item\_code", doc) }} Quantity: {{ row.get\_formatted("qty", doc) }} Rate: {{ row.get\_formatted("rate", doc) }} Amount: {{ row.get\_formatted("amount", doc) }}
  • {% endfor %}

The output on a print format would be as follows

Method 2. Displaying rows of a Child Table as a table







Item CodeQuantityRateAmount
{{item.item_code }}{{item.qty}}{{item.rate}}{{item.amount}}

The output on a print format would be as follows

This template can be used for reference. Any additional fields on the child table field can be fetched in a similar manner, by amending the Jinja template.

Was this article helpful?