Как определить столбцы из ключей словаря с помощью Django tables 2?

Я хочу создать таблицу из нескольких объектов из модели Django под названием MyModel.

Данные хранятся в JSONField под названием weights с datetime в качестве ключа, как это {"2022-05-01T05:00:00Z": 0.123}. Имя колонки должно быть из поля CharField под названием name.

Как видно из приведенного ниже кода, я перебираю объекты и создаю Pandas Series для извлечения значений и заполнения словаря. Но как я могу сказать tables взять имя столбца из ключа словаря? Есть ли возможность передать имена столбцов непосредственно списком?

view.py

class MyappDetailView(SingleTableMixin, generic.DetailView):
    model = Country

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)

        dic = dict()
        for obj in MyModels.objects.filter(one_field=self.object):
            s = pd.Series(obj.weights)[-15 * 24:] * 100
            dic['Datetime'] = s.index.tolist()
            dic[obj.name] = s.values.tolist()

        table_2 = WeightTable(dic)
        context['table'] = table_2
        return context

table.py

import django_tables2 as tables


class WeightTable(tables.Table):
    Datetime = tables.Column()
    for k in dic.keys():
        k = tables.Column()  # here I would like to declare the name of the columns fom the key
 
    ...
    
Вернуться на верх