я новичок в графене
Я трижды получаю информацию от 3-х моделей: две модели соединяются (пользователь и классы), имеет отношения многие-ко-многим, одна модель (уроки) соединяется как много-к один с моделью классов.
Моя цель - иметь возможность показывать информацию о модели класса в виде списка внутри класса после пользовательских данных. Но я только мог показать данные между Пользователем и Классами. Но нужно было перечислить все данные пользователя -> Классы -> Уроки. Как это сделать?
вот как это должно выглядеть
мои модели:
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)
выходная коса:
{
"data": {
"all": {
"edges": [
{
"node": {
"id": "TWFpbmNoZW1hOjE=",
"name": "User 1",
"Classes": {
"edges": [
{
"node": {
"id": "Q29udHJhY3RTY2hlbWE6Mg==",
"name": "First class",
"lessons": {
"edges": []
}
}
}
]
}
}
},
Основная проблема в том, что список уроков пуст, но если я запрашиваю уроки, он показывает информацию, и он не пуст.