Я понял это, просмотрев /django_tables2/tables.py.
Итак, я сначала создал Meta-класс, который будет служить внутренним классом для класса, который я хотел создать:
Meta = type('Meta', (object,), {'template_name':"django_tables2/bootstrap4.html", 'attrs':{"class": "paleblue"},})
Затем я добавляю этот класс в словарь myTableCol (мне нужно изменить имя), например myTableCol.update ({'Meta': Meta}).
Затем я создал класс, который Я хотел:
QueryTable2=type('QueryTable', (tables.Table,), myTableCol)
Причина, по которой мне пришлось обновить словарь имен столбцов, заключается в том, что строки 34-39 в /django_tables2/tables.py класса DeclarativeColumnsMetaclass зацикливаются на атрибутах класса и проверяет, являются ли элементы в myTableCol экземплярами столбца. Если true, ключ и значение добавляются в список словарей, если нет, то они добавляются в другой словарь в виде пар ключ / значение.
Итак, я обновил свою таблицу get_table следующим образом:
def get_table(self, **kwargs):
"""
Return a table object to use. The table has automatic support for
sorting and pagination.
"""
....
other processing
....
Meta = type('Meta', (object,), {'template_name':"django_tables2/bootstrap4.html", 'attrs':{"class": "paleblue"},})
myTableCol.update({'Meta':Meta})
QueryTable2=type('QueryTable', (tables.Table,), myTableCol)
table_class, table_data = QueryTable2, mylist
table_class = table_class
print(table_class, table_data)
table = table_class(data=table_data, **kwargs)
return RequestConfig(self.request, paginate=self.get_table_pagination(table)).configure(table)