0

私は次のように宣言されたモデルを持っています:

class SAProduct(Base):

    sku = Column(PRODUCT_SKU_TYPE, primary_key=True)
    i_want_to_hide = Column(String(20), nullable=False)
    name = Column(Unicode(255), nullable=True)

    @property
    def my_property(self):
        return i_calculate_property_here(self)

Spyne モデルは次のように宣言されます。

db = create_engine('sqlite:///:memory:')
Session = sessionmaker(bind=db)

class TableModel(ComplexModelBase):
    __metaclass__ = ComplexModelMeta
    __metadata__ = MetaData(bind=db)

class SProduct(TableModel):
    __table__ = SAProduct.__table__

属性i_want_to_hideを Spyne モデルから除外し、プロパティmy_propertyを Spyne モデル属性として含めるにはどうすればよいですか?

PS 今、私はこの構文をサポートするためにモンキー パッチ Spyne を使用します:

class SProduct(GComplexModel):
    __model__ = Product

    class Attributes:
        exclude_attrs = ('i_want_to_hide',)
        add_attrs = {'my_property': Boolean}

でも手放したい。

4

1 に答える 1