Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Поддержка multiple databases от django #10

Closed
ildus opened this issue Feb 18, 2013 · 1 comment
Closed

Поддержка multiple databases от django #10

ildus opened this issue Feb 18, 2013 · 1 comment

Comments

@ildus
Copy link
Contributor

ildus commented Feb 18, 2013

Здравствуйте. В orm.py есть такой код:

def new_session(**kw):
    get_session()
signals.request_started.connect(new_session)

Не лучше будет ли его поменять на сигнал django.db.backends.signals.connection_created?

Это связано с тем что я хочу добавить поддержку алиасов для get_engine и get_session, но в обработчике request_started нельзя узнать текущее соединение.
Выглядеть будет как то так:

def get_session(alias='default'):
    connection = connections[alias]
    if not hasattr(connection, 'sa_session'):
        session = orm.create_session()
        session.bind = get_engine(alias)
        connection.sa_session = session
    return connection.sa_session


def new_session(sender, connection, **kw):
    get_session(alias=connection.alias)
connection_created.connect(new_session)
@Deepwalker
Copy link
Contributor

Нет проблем - приму пулл реквест. Проверьте тесты перед отправкой, допишите свой кейс.
Ну и версию можно проинкрементить.

@ildus ildus closed this as completed Aug 5, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants