Fetch child table values using Jinja tags

Fetch child table values using Jinja tags



Jinja templating can be used to reference any field on any DocType in OneHash. 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





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.

Updated on: 05/09/2023

Was this article helpful?

Share your feedback

Cancel

Thank you!