Smart Charts
This is the official documentation of the forestadmin-agent-django and forestadmin-agent-flask Python agents.
Live Query Charts ↗ allowed the creation of charts from SQL queries from the UI.
Steps
Step 1: Retrieve the SQL query from the UI

You can retrieve the SQL query of a Live query chart by clicking on the Cog icon of the chart when using the Edit Layout mode.
Step 2: Create a new API chart
The next step will be to create a new API chart using the SQL query you retrieved in the previous step.
from forestadmin.datasource_toolkit.context.agent_context import (
AgentCustomizationContext
)
from forestadmin.datasource_toolkit.decorators.chart.result_builder import (
ResultBuilder
)
def appointments_chart(
context: AgentCustomizationContext, result_builder: ResultBuilder
):
raw_query = """SELECT current.count AS value, previous.count AS previous
FROM (
SELECT COUNT(*)
FROM appointments
WHERE start_date BETWEEN '2018-01-01' AND '2018-02-01'
) as current, (
SELECT COUNT(*)
FROM appointments
WHERE start_date BETWEEN '2017-12-01' AND '2018-01-01'
) as previous;"""
with (
context.datasource.get_collection("appointments").get_native_driver()
) as cursor:
cursor.execute(raw_query)
rows = cursor.fetchall()
return resultBuilder.value(rows[0][0], rows[0][1])
agent.add_chart('appointments', appointments_chart)Step 3: Retrieve the URL of the generated chart
The url of your newly created api chart is /forest/_charts/$chartName. The $chartName is the name given to the add_chart method. For the previous example the url should be /forest/_charts/appointments
Step 4: Change the old chart configuration
Instead of Query, select Smart in the data source selector, and enter the path that was printed to the console in the previous step.
Last updated
Was this helpful?