擅长:python、mysql、java
<p>我发现我的问题有两个方面:</p>
<ol>
<li>我在我的关系中引用<code>Vehicles</code>不正确。应该是<code>relationship('Vehicle'</code>而不是<code>relationship('vehicles'</code></li>
<li>显然,在关系中声明FK是不合适的,就像我在AssetSettings.py中所做的那样。我必须申报FK然后把它交给这段关系。</li>
</ol>
<p>我现在的配置如下:</p>
<p><strong>车辆.py</strong></p>
<pre><code>class Vehicle(Base, IDiagnostable, IUsage, ITrackable):
__tablename__ = 'vehicles'
vehicle_id = Column(Integer, primary_key=True)_id = Column(Integer)
settings = relationship('AssetSetting', backref=backref('asset_settings'))
</code></pre>
<p><strong>资产设置.py</strong></p>
<pre><code>class AssetSetting(Base):
__tablename__ = 'asset_settings'
asset_alert_setting_id = Column(Integer, primary_key=True, autoincrement=True)
vehicle_id = Column(ForeignKey('vehicles.vehicle_id'))
vehicle = relationship('Vehicle', foreign_keys=vehicle_id)
</code></pre>