你如何增强this一对多关系,使'多'方面的关系成为一个尊贵的关系。
使用一个具体的例子,如何在以下模型中引入资本的概念?它会是一个额外的一对一映射吗?它会干扰现有的一对多吗?仅仅引入db.Boolean is_capital
就足够了吗?这最后是惯用还是有更合适的解决方案?
class City(db.Model):
id = db.Column(db.Integer, primary_key=True)
...
country_id = db.Column(db.Integer, db.ForeignKey('country.id'))
country = db.relationship('Country', back_populates='cities')
class Country(db.Model):
id = db.Column(db.Integer, primary_key=True)
...
cities = db.relationship('City', back_populates='country')
答案 0 :(得分:1)
您可以创建一个新的Capital表,其中每个国家/地区包含一行包含国家/地区ID和城市ID,或者您只需在包含Capital City ID的Country表中添加一列。对于每个城市,其中任何一个都将提供比布尔is_capital
更高效的查找和更紧凑的存储。