Tôi có một lớp Generic
Make lớp con có thuộc tính lớp riêng của mình
class Generic:
raw_data = []
objects = dict()
và các lớp bê tông
class A(Generic):
raw_data = module.somethingA
class B(Generic):
raw_data = module.somethingB
Tôi muốn cư mỗi raw_data
vào mỗi objects
dict của lớp. Để đó, tôi đang chạy:
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
Tuy nhiên, điều này không làm việc vì objects
được chia sẻ giữa A
và B
, và tôi muốn mỗi lớp con của Generic
để có các đối tượng của riêng mình.
Làm cách nào để đạt được điều này mà không phải nhập objects = dict()
trên mọi lớp con?
Tôi muốn nói rằng đây là trường hợp truyền thống cần có lớp meta (thêm objects
vào mỗi lớp mới); đây là trường hợp, hoặc là có một lựa chọn đơn giản hơn?