3 modelli non attributo 'FOREIGN_KEYS' ho creato con la boccetta-SQLAlchemy: User, Ruolo, UserRoleFlask-SQLAlchemy - modello ha
user.py:
class Role(ActiveRecord, db.Model):
__tablename__ = "roles"
# Schema
id = db.Column(db.Integer, primary_key = True)
name = db.Column(db.String(24), unique = True)
description = db.Column(db.String(90))
users = db.relationship("User", secondary = "UserRole", \
backref = db.backref("roles"))
role.py:
class User(db.Model, ActiveRecord):
__tablename__ = "users"
# Schema
id = db.Column(db.Integer, primary_key = True)
email = db.Column(db.String(90), unique = True)
password = db.Column(db.String(64))
# Relations
roles = db.relationship("Role", secondary = "UserRole", \
backref = db.backref("users"))
user_role.py:
class UserRole(ActiveRecord, db.Model):
__tablename__ = "user_roles"
# Schema
user_id = db.Column(db.Integer, db.ForeignKey('users.id'), primary_key = True)
role_id = db.Column(db.Integer, db.ForeignKey('roles.id'), primary_key = True)
Se provo (nella console) per ottenere tutti gli utenti tramite User.query.all()
ottengo AttributeError: 'NoneType' object has no attribute 'all'
e se provo ancora una volta ottengo un altro errore dicendo:
sqlalchemy.exc.InvalidRequestError: One or more mappers failed to initialize - can't proceed with initialization of other mappers. Original exception was: type object 'UserRole' has no attribute 'foreign_keys'
Qualcuno può gettare una luce su che cosa è esattamente che sto fare male? Penso che questo codice sia stato eseguito correttamente alcuni mesi fa, ma ho aggiornato SQLAlchemy, Flask e Flask-SQLAlchemy di recente e si è fermato. È solo un progetto parallelo.
Parte del motivo per pubblicare il codice sorgente è così che possiamo tentare di riprodurre il problema dalla nostra parte. Tuttavia, senza che noi sappiamo cosa sia ActiveRecord, o come hai configurato la "console" in cui tenti di eseguire il comando, non possiamo farlo. C'è un modo per creare un singolo script che duplica il problema? –