Django - как предоставить Javascript информацию о таблице для создания сетевого Графа?

У меня есть модель, которая хранит статистику сети, включая узлы. Я хочу отобразить эту статистику в HTML. Вот моя таблица

interfaceModel

Interface   IPaddress       Hostname
AE1         1.1.1.1              A
AE1         2.2.2.2              B
AE2         3.3.3.3              C
AE2         4.4.4.4              D
AE3         5.5.5.5              E
AE3         6.6.6.6              F

Я использую highcahrts Network Graph для построения сетевого графика https://www.highcharts.com/blog/tutorials/network-graph/

Вот код, который отображает следующий демонстрационный график

    <style>
    #container {
        background: #1f1f1f;
        min-width: 320px;
        max-width: 500px;
        margin: 0 auto;
        height: 500px;
      } 
</style>  
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/networkgraph.js"></script>
<div id="container"></div>
<script>

Highcharts.chart('container', {
    chart: {
      type: 'networkgraph',
      marginTop: 80
    },
    title: {
      text: 'Network graph'
    },
    plotOptions: {
      networkgraph: {
        keys: ['from', 'to'],
      }
    },
    series: [{
      marker: {
        radius: 30
      },
      dataLabels: {
        enabled: true,
        linkFormat: '',
        allowOverlap: true
      },
      data: [
        ['Node 1', 'Node 2'],
        ['Node 1', 'Node 3'],
        ['Node 1', 'Node 4'],
        ['Node 4', 'Node 5'],
        ['Node 2', 'Node 5']
      ]
    }]
  });

</script>

enter image description here

Как я могу заменить данные в массиве данных JS, зацикливаясь от имени хоста моей базы данных Interfacedatabase? Это прямое одиночное прямое соединение без межсоединений A>B>C>D>E>F

данные должны выглядеть примерно следующим образом

      data: [
            [A, B],
            [B, C],
            [C, D],
            [D, E],
            [E, F]
}

зарегистрировать тег next:

@register.filter
def next(some_list, current_index):
    """
    Returns the next element of the list using the current index if it exists.
    Otherwise returns an empty string.
    """
    try:
        return some_list[int(current_index) + 1]  # access the next element
    except:
        return ''

в шаблоне:

data: [
{% for d in interfaceModel %}
 {% if not forloop.last %}
  {% with next_d=interfaceModel|next:forloop.counter %}
   ['{{ d.hostname }}' ,'{{next_d.hostname}}'],
  {% endwith %}
 {% endif %}
{% endfor %}
]

Разработал решение. res содержит данные списка списков

    var first = 0;
    var second = 1;
    firstlist = [];
    secondlist = [];
    {% for x in lspinterfacesfilter %}
    var a = "{{x.lspinterfacehostnamedb}}";
    firstlist.push(a);
    {% endfor %}
    const res = [];
    for (let i = 0; i < firstlist.length; i += 2) {
        const chunk = firstlist.slice(i, i + 2);
        res.push(chunk);
    }
    res.reverse();
Вернуться на верх