Mam klasy Generic
Producent podklasa posiada atrybut własnej klasy
class Generic:
raw_data = []
objects = dict()
i konkretne zajęcia
class A(Generic):
raw_data = module.somethingA
class B(Generic):
raw_data = module.somethingB
Chcę zapełnić każdą raw_data
na każdym objects
dict klasy. Aby, że biegnę:
for object_type in (A, B):
for data in object_type.raw_data:
new_object = object_type(*data)
object_type.objects[id(new_object)] = new_object
Jednak to nie działa, ponieważ objects
dzielone między A
i B
i chciałem każdą podklasę Generic
mieć własne obiekty.
Jak to zrobić, bez wpisywania objects = dict()
na każdej podklasie?
Jestem skłonny powiedzieć, że jest to tradycyjny przypadek, w którym wymagana jest klasa meta (która dodaje objects
do każdej nowej klasy); czy tak jest, czy jest prostsza opcja?