Scenario
I have an API GET request which filters a DB table for a company called "Cat Inc." and returns info of employees part of "Cat Inc":
[
  {
    "company": "Cat Inc."
  },
[
  {
    "id": 1,
    "name": "Bob"
  },
  {
    "id": 2,
    "name": "Cat"
  }
 ]
]
I have a plain-text Jinja2 template company.j2:
The company name is {{ company }}.
{% for employee in employees %}
  {{ employee.name }} is part of the company with ID of {{ employee.id }}
{% endfor %}
And would ultimately like to return this:
The company name is Cat Inc.
Bob is part of the company with ID of 1 
Cat is part of the company with ID of 2
I've set the API @get request to return company info and employee info separately as list type variables, and following the docs, I tried something like this:
@get("/{company_id}", response_class=PlainTextResponse)
async def generate_template(company_id: int, request: Request):
     company = *<uses some function to filter to find Cat Inc.'s company_id>*
     employees = *<uses some function to find employees where company_id = Cat Inc.company_id>*
return templates.TemplateResponse("company.j2", {"request": Request, 
                                  "company": company.company, 
                                  "employees": employees.employee})
What I seem to return in the API request is:
The company name is Cat Inc.
And that is it. The for loop within the Jinja2 template gets ignored.
 
    