【发布时间】:2020-11-07 15:45:08
【问题描述】:
我有 3 节课;
-
'Company' 顶级类它的子类'Department' 它的子类'DepartmentalUnit'
-
我可以访问从'DepartmentalUnit'类到顶级'Company'所有类的值
尽管阅读了文档,但我无法做到和理解的是;;
- 我无法访问“公司”类的其他子类
class Company(Base):
__tablename__ = 'company'
id = Column(Integer, primary_key=True)
name = Column(String)
departments = relationship('Department',backref='company')
class Department(Base):
__tablename__ = 'department'
id = Column(Integer, primary_key=True)
department_name = Column(String)
company_id = Column(Integer, ForeignKey('company.id'))
departmentalunits = relationship('DepartmentalUnit', backref='department')
class DepartmentalUnit(Base):
__tablename__ = 'departmentalunit'
id = Column(Integer, primary_key=True,nullable=False)
departmental_unit_name = Column(String)
departments_id = Column(Integer, ForeignKey('department.id'))
我从子类访问上层类的代码:
query = session.query(DepartmentalUnit)
instance = query.all()
for i in instance:
print(i.department.company.name)
print(i.department.department_name)
print(i.departmental_unit_name)
无法从公司类访问其他子类的代码:
query = session.query(Company)
instance = query.all()
for i in instance:
print(i.department.department_name)
【问题讨论】:
标签: python sqlalchemy