Ich habe eine Tabelle für Protokolle, die verschiedene Informationen über Mitarbeiter ex enthält:Wie machst du viele zu viele mit mehr als 2 Tischen?
class Log(Model):
division_id = Column(Integer, ForeignKey('division.id'), nullable=False)
division = relationship("Division")
employee_id = Column(Integer, ForeignKey("employee.id"), nullable=False)
employee = relationship("Employee")
skill_id = Column(Integer, ForeignKey("skill.id"), nullable=False)
skill = relationship("Skill")
message = Column(String, default='OK', nullable=False)
date = Column(DateTime, default=NowTime(), nullable=True)
Mitarbeiter und Geschicklichkeit Tabellen wie folgt aussehen:
class Employee(Model):
id = Column(Integer, primary_key=True)
name = Column(String, unique=True, nullable=False)
division_id = Column(Integer, ForeignKey('division.id'), nullable=False)
division = relationship("Division")
class Skill(Model):
id = Column(Integer, primary_key=True)
name = Column(String, unique=True, nullable=False)
ich bin derzeit mit Flask-AppBuilder und ich habe Skill-Ansicht, die alle Protokolle für die aktuell ausgewählte Fähigkeit anzeigt.
In der SkillLogView möchte ich auch eine Liste von Mitarbeiternamen anzeigen, die diese Fähigkeit haben.
Wie bekomme ich auch die Mitarbeiter aus den Protokollen, die zu den aktuellen Fähigkeiten gehören?
Ich bin nicht sicher, wie es geht, aber ich dachte, dass es für viele zu viele ein Fall sein könnte. Das Problem ist, dass es 3 Tabellen gibt, nicht 2.
Gibt es eine Möglichkeit, viele zu viele mit mehr als 2 Tabellen zu tun?
Oder gibt es einen anderen Weg, um das zu erreichen, was ich tun möchte?
Jede Hilfe wird geschätzt.
Danke für die Hilfe Ivan! Außerdem habe ich eine andere Methode veröffentlicht, die es auf der Ebene des Tabellenmodells implementiert. Überprüfen Sie es, wenn Sie Zeit haben. –
Danke für das Teilen. Ich habe erwähnt, dass Ihr Mitarbeiter keine Beziehung mit Log etabliert hat. Dies ist genau das, was Ihre andere Methode befürwortet. –