我无法在Flask SQL Alchemy中建立一对一的关系。在终端中运行命令flask-init
之后,我得到了以下错误:
sqlalchemy.exc.NoForeignKeysError:无法确定连接条件 关系TimeZones.users上的父/子表之间-那里 没有链接这些表的外键。确保引用 列与ForeignKey或ForeignKeyConstraint关联,或者 指定一个“ primaryjoin”表达式。
我有三(3)张桌子。
表用户具有“语言”表和“时区”表的主键。
以下是所有三个表的代码:
1。语言
from modules.user_management.user_model import *
class Languages(db.Model):
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
language_culture = db.Column(db.String(50), nullable=False)
language_rtl = db.Column(db.Integer, nullable=False)
language_code = db.Column(db.String(50))
is_published = db.Column(db.Integer)
language_resources = db.relationship('LanguageResources', backref=db.backref('languages', lazy=True))
users = db.relationship('User', backref=db.backref('languages', lazy=True))
2。时区
from modules.user_management.user_model import *
class TimeZones(db.Model):
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
time_zone = db.Column(db.String(50), unique=True, nullable=False)
users = db.relationship('User', backref=db.backref('timezones', lazy=True))
3。用户
from modules.setups.language_model import *
from modules.setups.time_zone_model import *
class User(db.Model):
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
language_id = db.Column(db.Integer, db.ForeignKey('languages.id'), nullable=False)
timezone_id = db.Column(db.Integer, db.ForeignKey('timezones.id'), nullable=False)
user_logs = db.relationship('UserLogs', backref=db.backref('user', lazy=True))
按照下面链接中的可用教程,我找不到任何问题。