【发布时间】:2021-12-16 14:01:28
【问题描述】:
我是 SQLAlchemy 的初学者,我刚刚为 Flask 应用程序创建了第一个 modules.py 文件。但是,在主应用程序中,当我尝试创建两个 user 类型的对象时:
from models import user_presence,User,Activity_Presence
db.create_all()
u1 = User()
u2 = User()
我收到错误消息:sqlalchemy.exc.NoForeignKeysError: Can't find any foreign key relationships between 'activity_presence' and 'User_Presence'. 我尝试按照官方教程进行操作,但我不明白为什么外键关系存在问题。我还尝试添加更多字段,将对象添加到关系中,但我就是不知道问题出在哪里。如果您有任何想法,我将不胜感激。对不起,如果问题太多是初学者的问题。
from api import db
user_presence = db.Table('User_Presence',
db.Column('user_id', db.Integer, db.ForeignKey('user.id'), primary_key=True),
db.Column('presence_id', db.Integer, db.ForeignKey('Activity_Presence.id'), primary_key=True)
)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
presence_activ= db.relationship('Activity_Presence', secondary=user_presence, lazy='subquery',
backref=db.backref('users', lazy=True))
class Activity_Presence(db.Model):
id = db.Column(db.Integer, primary_key=True)
【问题讨论】:
标签: python flask sqlalchemy foreign-keys backend