我正在尝试使用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'>".