Python Sqlalchemy石墨烯深度嵌套模式
i、 我是石墨烯新手 我将从3个模型中接收信息:两个模型连接(用户和类)具有多对多关系,一个模型(课程)使用类模型连接多对一关系 我的目标是能够在用户数据之后在类内以列表的形式显示关于类模型的信息。但我只能向用户和类显示数据。但需要列出所有数据用户->类->课程。怎么做 这是它的外观 我的模型是:Python Sqlalchemy石墨烯深度嵌套模式,python,sqlalchemy,graphene-sqlalchemy,Python,Sqlalchemy,Graphene Sqlalchemy,i、 我是石墨烯新手 我将从3个模型中接收信息:两个模型连接(用户和类)具有多对多关系,一个模型(课程)使用类模型连接多对一关系 我的目标是能够在用户数据之后在类内以列表的形式显示关于类模型的信息。但我只能向用户和类显示数据。但需要列出所有数据用户->类->课程。怎么做 这是它的外观 我的模型是: table = Table('table', Base.metadata, Column('left', Integer, ForeignKey('left.id')), Column
table = Table('table', Base.metadata,
Column('left', Integer, ForeignKey('left.id')),
Column('right', Integer, ForeignKey('right.id'))
)
class User(Base):
__tablename__ = 'right'
id = Column(Integer, primary_key=True)
name = Column(String(255))
lessons = relationship("Class",
secondary=table,
backref="user")
class Classes(Base):
__tablename__ = 'left'
id = Column(Integer, primary_key=True)
name = Column(String(255))
lessons = relationship('User', backref='classes')
class Lessons(Base):
__tablename__ = 'lessons'
id = Column(Integer, primary_key=True)
name = Column(String(255))
class_id= Column(Integer, ForeignKey('class.id'))
我的模式和查询是:
class UserSchema(SQLAlchemyObjectType):
class Meta:
model = User
interfaces = (relay.Node, )
class ClassesSchema(SQLAlchemyObjectType):
class Meta:
model = Contract
interfaces = (relay.Node, )
class LessonsSchema(SQLAlchemyObjectType):
class Meta:
model = Plan
interfaces = (relay.Node,)
class Query(graphene.ObjectType):
node = relay.Node.Field()
# Allows sorting over multiple columns, by default over the primary key
all = SQLAlchemyConnectionField(UserSchema)
# Disable sorting over this field
all_classes = SQLAlchemyConnectionField(ClassesSchema)
all_lessons = SQLAlchemyConnectionField(LessonsSchema)
schema = graphene.Schema(query=Query)
输出mow为:
{
"data": {
"all": {
"edges": [
{
"node": {
"id": "TWFpbmNoZW1hOjE=",
"name": "User 1",
"Classes": {
"edges": [
{
"node": {
"id": "Q29udHJhY3RTY2hlbWE6Mg==",
"name": "First class",
"lessons": {
"edges": []
}
}
}
]
}
}
},
主要的问题是课程列表是空的,但若我查询课程,它会显示信息,而不是空的