将数据库自动化为石墨烯时无效的SQLAlchemy模型

时间:2018-03-27 14:02:50

标签: python sqlalchemy graphene-python

我正在尝试使用graphene-sqlalchemy对现有的数据库进行自动化。

数据库自动化:

engine = create_engine(" blablabla", convert_unicode=True)

db_session = scoped_session(sessionmaker(autocommit=False,
                                         autoflush=False,
                                         bind=engine))

Base = automap_base()
Base.prepare(engine, reflect=True, generate_relationship=_gen_relationship, name_for_scalar_relationship = name_for_scalar_relationship, classname_for_table=camelize_classname, name_for_collection_relationship=pluralize_collection)

Buyer = Base.classes.Buyer

Base.query = db_session.query_property()

架构:

import graphene
import json
from graphene import relay
from graphene_sqlalchemy import SQLAlchemyConnectionField, SQLAlchemyObjectType

from database import Buyer as BuyerModel

class Buyer(SQLAlchemyObjectType):

    class Meta:
        model = BuyerModel
        interfaces = (relay.Node, )

class Query(graphene.ObjectType):
    node = relay.Node.Field()
    all_buyers = SQLAlchemyConnectionField(Buyer)

schema = graphene.Schema(query=Query)

产生错误:

AssertionError: You need to pass a valid SQLAlchemy Model in Buyer.Meta, received "<class 'sqlalchemy.ext.automap.Buyer'>".

0 个答案:

没有答案