I have a Python class with the following __init__
method:
class MyClass(ParentClass):
def __init__(self, **kwargs):
my_list = OrderedDict[
(1, 'abc'),
(2, 'def'),
(3, 'ghi'),
]
I wanted to alter my_list with such function:
def process_my_list(self):
new_list = self.my_list.__class__()
for index, item in self.my_list.items():
# process index or item
new_list[index] = new_item
self.my_list.clear()
self.my_list.update(new_list)
I wanted to implement this for alteration of a steps’ list of a form. However, in case of dynamic form every step is separate instance, and thus __init__
is called with every step. As a result, my_list always returns back to its previous state.
How can I update this list without it being restored? So far I’ve tried:
Please help.
If you're looking to make my_list
a class attribute:
class MyClass(ParentClass):
my_list = OrderedDict([
(1, 'abc'),
(2, 'def'),
(3, 'ghi')
])
def __init__(self, **kwargs):
pass
@classmethod
def process_my_list(cls):
new_list = OrderedDict()
for index, item in cls.my_list.items():
# process index or item
new_list[index] = new_item
cls.my_list = new_list