I have these three model. One user have multiple roles.I am stuck for get roles of user. How can I get the user with roles using strawberry dataloader?
class UserRole(Base):
__tablename__ = "user_roles"
id = Column(Integer, primary_key=True, index=True)
user = Column(Integer, ForeignKey("users.id"))
role = Column(Integer, ForeignKey("roles.id"))
created_at = Column(DateTime(), server_default=func.now())
updated_at = Column(DateTime(), nullable=True)
class Role(Base):
__tablename__ = "roles"
id = Column(Integer, primary_key=True, index=True)
name = Column(String(255), unique=True, index=True, default="patient")
description = Column(String(255), nullable=True)
created_at = Column(DateTime(), server_default=func.now())
updated_at = Column(DateTime(), nullable=True)
def __repr__(self):
return f"{self.name}"
class User(Base):
__tablename__ = "users"
id = Column(Integer, primary_key=True, index=True)
first_name = Column(String(255), nullable=True)
last_name = Column(String(255), nullable=True)
email = Column(String(255), unique=True, index=True)
roles = relationship(
"Role",
secondary="user_roles",
backref=backref("users", lazy="dynamic"),
)
created_at = Column(DateTime(), server_default=func.now())
updated_at = Column(DateTime(), nullable=True)
def __repr__(self):
return f"{self.email}"
Now I am using this tutorial https://strawberry.rocks/docs/guides/dataloaders