我很难为我的乘客预测模型构建地理对象层次结构。
我有以下对象层次结构:
IntegrityError: (sqlite3.IntegrityError) UNIQUE constraint failed: geoobjects.id
[SQL: 'UPDATE geoobjects SET id=? WHERE geoobjects.id = ?'] [parameters: (2, 1)]
当我尝试将TransportArea对象添加到会话时,出现以下错误:
m
有任何建议,如何解决这个问题?
{{1}} - 是包含带db的烧瓶应用程序的模型的实例。
答案 0 :(得分:0)
我终于明白它应该如何运作。
当我添加foreign_keys
关键字时,我应该为其指定一个列并将其链接到该关系。工作代码如下:
class TransportArea(Geoobject):
__tablename__ = 'transport_areas'
id = m.db.Column(m.db.Integer, m.db.ForeignKey('geoobjects.id'),
primary_key=True, autoincrement=True)
region_id = m.db.Column(m.db.Integer, m.db.ForeignKey('regions.id'))
region = m.db.relationship('Region', foreign_keys=region_id)
def __init__(self,
name: str,
region: Region
):
self.name = name
self.region = region