Свойство не-SQLAlchemy в модели SQLAlchemy

Допустим, я определил эту модель:

class AccountModel(Base):
    __tablename__ = 'Accounts'
    account_id = Column(Integer, primary_key=True)
    name = Column(String)
    objects = relationship(ObjectModel, back_populates="account")

У меня также есть не-SQLAlchemy, собственный объектный тип Graphene, который заполняется с помощью вызова REST, и я хотел бы добавить его в AccountModel:

class AccountMeta(ObjectType):
    status = String()
    account_type = String()
    lineage = String()

Когда я пытаюсь добавить свойство к модели напрямую, вот так:

class AccountModel(Base):
    __tablename__ = 'Accounts'
    account_id = Column(Integer, primary_key=True)
    name = Column(String)
    objects = relationship(ObjectModel, back_populates="account")
    metadata = AccountMeta()

Я получаю следующую ошибку: AttributeError: 'AccountMeta' object has no attribute 'schema'

В любом случае это кажется неправильным, так как мне нужно передать свойство account_id резолверу, и я не уверен, что мой резольвер в соответствующей SQLAlchemyObjectType ссылается на свойство, которое существует в этом контексте:

class AccountDb(SQLAlchemyObjectType):
    class Meta:
        model = AccountModel
        interfaces = (relay.Node,)

    def resolve_metadata(self, info):
        return get_account_meta(self.account_id)

Я не могу найти много, если какая-либо информация об этом. Возможны ли эти свойства смешанного типа? Если нет, есть ли способ обойти это?

0 ответов

Другие вопросы по тегам