всмысле в питоне существует только конкретный класс и питон не умеет сам вычленить класс предка?а давай ты почитаешь основы питона про ООП? по секрету, в разных ЯП разные реализации ООП, прикинь, да?
с 1к полей то мне их все прокидывать в конструкторнапример,
**dataclasses.asdict(instance)book.shelf = BookShelfRef(name=shelf.name) либо написать фабричный метод для подобных преобразований book.shelf = super(BookShelfRef,shelf) вместо book.shelf = shelfПолка книг наследуется от базового класса который не включается в себя список книг, специально для того чтобы книга могла ссылаться на полку, на которой находится.И из этого таки и не понятно, зачем делать все таки делать shelf: BookShelfRef а не shelf: BookShelf ? Она в обоих случаях на полку ссылается.