Всем привет
Можно ли как-то более лаконично реализовать такую конструкцию?
Задача в том, чтобы инициализировать объект класса либо набором параметров, либо параметрами из другого объекта этого же класса.
from dataclasses import dataclass, field
@dataclass
class Container:
user_id: int
body: str
container: 'Container' = None
def __post_init__(self):
if self.container is not None:
self.user_id = self.container.user_id
self.body = self.container.body
first = Container(1,"abc")
second = Container(2,"def", first)
print(first) # Container(user_id=1, body='abc', container=None)
print(second) #Container(user_id=1, body='abc', container=Container(user_id=1, body='abc', container=None))