假设我们有两个定义如下的类:
class BookMixin(object):
id = Column(Integer, primary_key=True)
author = Column(String(20), nullable=False)
description = Column(Unicode(2000), nullable=False)
@declared_attr
def publisher(cls):
return Column(String(20), ForeignKey('publisher.name'), nullable=False)
@declared_attr
def publisher_rel(cls):
return relationship("Publisher")
class AntiqueBook(BookMixin,Base):
__tablename__ = 'antique_book'
auction_house = Column(Unicode(100))
class PhotoBook(BookMixin, Base):
__tablename__ = 'photo_book'
photographer = Column(Unicode(200))
假设我们得到AntiqueBook
类antiqueBook
的实例,从antiqueBook
创建PhotoBook实例的最佳方法是什么,因为这两个类都使用相同的mixin
请列出这种情况的最佳方法。