Удаление из postgresql с помощью plotly dash

Я создал генерируемые графики, которые сохраняются в postgresql. И я добавил несколько кнопок, таких как кнопка удаления для каждого графика. Это выглядит следующим образом

Как я могу использовать кнопку удаления? Я попытался создать другой обратный вызов, но я думаю, что он не прочитал все кнопки. Если я нажимаю на другую кнопку удаления, то выводится "None", но если нажимаю на последнюю, то выводится "1". Есть ли другое решение? Я хочу использовать кнопку удаления для каждого графика. Я хочу получать значение из dcc.input, если я нажму на кнопку. Я открыт для любых предложений по улучшению моей работы.

app.layout = html.Div(id='graphs', children=[
])

@app.callback(Output('graphs', 'children'),
              Input('graphs', 'children'))
def update_extend_traces_traceselect(child):

fig = go.Figure()
                fig.add_trace(
                    go.Bar(
                        x=xval,
                        y=yval,
                        name=barname,
                        marker_color=barcolor,
                        orientation=orientation,
                        marker_line_color=markerlinecolor,
                        marker_line_width=float(markerlinewidth)
                    ))
fig.update_layout(
                title=title,
            )
child.append(html.Div(
dcc.Input(
                id="charts-id",
                type="text",
                value=chart_ID[i]
            ),
                html.Button('Delete', id='delete-chart', n_clicks=0),
                dcc.Graph(figure=fig,
                          config={
                              'displayModeBar': False,
                          })],
                style={'height': '550px', 'width': '550px', 'margin': '10px',
                       'border': '1px solid'}))
return child

@app.callback(Output('delete-chart', 'n_clicks'),
              Input('delete-chart', 'n_clicks'),
              State('charts-id', 'value')
              )
def delete(n_clicks, value):
    print(n_clicks) //only for the last chart works//
    print(value) //printing the value of the last dcc.input//

if "OverviewChart" == '__main__':
    app.run_server(debug=True)

Вернуться на верх