Я пытаюсь создать мультитенантное приложение, используя Flask, я следую этому руководству, я использую Postgres sql для базы данных:
https://medium.com/@smirnov.am/multitenancy-with-flask-6f5375a34f55
Итак, моя точка зренияпутаницы в том, что, когда я пытаюсь перенаправить на указанный URL-адрес, поскольку я продолжаю получать внутреннюю ошибку сервера, когда я просматриваю журналы, это то, что я получаю:
TypeError: index() got an unexpected keyword argument 'organization_name'
ХотяСледуя руководству, я делаю те же самые шаги, что и он, но я просто не могу получить окончательный результат, чтобы показать, что он работает.
Вот как я структурирую свой app.route
@app.route("/<organization_name>/users")
def index(organization__name):
organization_session = get_organization_session(organization__name)
if not organization_session:
print(404)
users = organization_session.query(Organization).all()
return jsonify({organization__name: [i.username for i in users]})
И вот как я настраиваю мультитенантную настройку:
DB_URI = my postgres uri
# Manages the the multiple dbs for the organization
@simple_cache
def get_known_organizations():
organizations = Organization.query.all()
return [o.name for o in organizations]
def prepare_bind(organization):
if organization not in current_app.config['SQLALCHEMY_BINDS']:
current_app.config['SQLALCHEMY_BINDS'][organization] = DB_URI.format(organization)
return current_app.config['SQLALCHEMY_BINDS'][organization]
def get_organization_session(organization):
if organization not in get_known_organizations():
return None
prepare_bind(organization)
engine = db.get_engine(current_app, bind=organization)
session_maker = db.sessionmaker()
session_maker.configure(bind=engine)
sesh = session_maker()
return sesh
Любая помощь будет принята с благодарностью