1
我公司與國家代碼,業務ID,和員工的列表:具有多個父鍵的子項?
class Company(db.Model):
id = db.Column(db.Integer, primary_key=True)
business_id = db.Column(db.String(20), nullable=False)
country_code = db.Column(db.String(2), nullable=False)
employee = db.relationship('Employee', backref='company')
class Employee(db.Model):
id = db.Column(db.Integer, primary_key=True)
company_id = db.Column(db.Integer, db.ForeignKey('company.id'))
但contantly說,數據的變化,而id
並不總是同一公司同一(一公司可能會從數據庫中刪除,然後重新添加不同的id
)。然而,country_code
和business_id
的組合是總是保證是唯一的,並且對於同一個公司是不變的。
如何爲Employee
創建兩個外鍵指向Company
的country_code
和business_id
?
我試圖通過一箇舊的StackOverflow問題這樣做,但它提出了一個錯誤,'str'
不應使用:
class Company(db.Model):
id = db.Column(db.Integer, primary_key=True)
business_id = db.Column(db.String(20), nullable=False)
country_code = db.Column(db.String(2), nullable=False)
employee = db.relationship('Employee', backref='company', foreign_keys=['Company.business_id', 'Company.country_code'])
然而,Python的語法阻止我指的是類本身。
我不知道所有的表格參數等等究竟意味着什麼,但它似乎完全按照我想要的方式工作。謝啦! :) –