我有記錄的表,其中包含有關員工的各種信息 例如:你如何做多對多的桌子?
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)
僱員和技能的表是這樣的:
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)
我現在使用的瓶-的AppBuilder,我有技能視圖,顯示當前選定技能的所有日誌。
class LogView(ModelView):
datamodel = SQLAInterface(Log)
list_columns = ['division', 'employee', 'skill', 'message', 'date']
show_template = 'appbuilder/general/model/show_cascade.html'
class SkillLogView(ModelView):
datamodel = SQLAInterface(Skill)
list_columns = ['name']
related_views = [LogView]
show_template = 'appbuilder/general/model/show_cascade.html'
在SkillLogView中,我還想顯示具有此技能的員工姓名列表。
我該如何從與當前技能相關的日誌中獲取員工?
我不知道該怎麼做,但我認爲這可能是許多人的情況。問題是,有3個表格,而不是2.
有沒有辦法做多到多與超過2表?
或者還有另一種方法可以完成我想要做的事情嗎?
任何幫助表示讚賞。
感謝您的幫助伊萬! 此外,我發佈了另一種方法,它在表模型級別實現它。 有空時檢查一下。 –
感謝分享。我已經提到你的'你的員工沒有和Log建立任何關係......',這正是你的其他方法所倡導的。 –