我正在尝试为每个网络端口以及每个网络电路保存一个VLAN ID列表。列表本身就是这样的:
class ListOfVlanIds(Base):
__tablename__ = 'listofvlanids'
id = Column(Integer, primary_key=True)
listofvlanids_name = Column('listofvlanids_name', String, nullable = True)
然后我有一个端口
class Port(Base):
__tablename__ = 'ports'
id = Column(Integer, primary_key=True)
listofvlanids_id = Column('listofvlanids_id', ForeignKey('ListOfVlanIds.id'), nullable = True)
和电路:
class Circuit(Base):
__tablename__ = 'circuits'
id = Column(Integer, primary_key=True)
listofvlanids_id = Column('listofvlanids_id', ForeignKey('ListOfVlanIds.id'), nullable = True)
在ForeignKey上的sqlalchemy.exc.NoReferencedTableError错误中运行这样的代码(对我来说)。
寻找我读过的错误我应该从列表中添加一个关系。我还没有找到一种方法(或一个例子),我可以从端口和电路构建它。我错过了什么?
为Ports和Circuits创建列表只会将问题向下游移动,因为VLAN ID是它自己的表...我希望能够使用ORM,而不必编写(很多)SQL用手。
答案 0 :(得分:0)
ForeignKey
需要一个表名和列名,而不是模型和属性名,因此它应该是ForeignKey('listofvlanids.id')
。