Pull to refresh

Comments 53

Да просто отличнейшая новость. Вот только, вопрос, можно ли указать базу данных для всей модели, а не при выборке, так же логичнее.
Пока только для запросов.

P.S.
Но ведь это только первый коммит :)
поэтому ждём продолжения.
Не только для запросов, вот из документации:
>>> user_obj.save(using='new_users')
>>> user_obj.delete(using='legacy_users')
упс, не разу въехал… для всей модели можно через Managers
Это не первый коммит, это вливание целой огромной ветки, которая разрабатывалась Alex-ом Gaynor-ом и другими людьми около полугода.
да поболее года будет
Была возможность указать через Meta, но убрали (по-моему так правильно). Т.к. для жестко для модели указывать базу как раз не логично — это не будет работать с идеологией reusable apps.
Ну теоретически написать такие не представляет труда. Практически же, я не вижу им применения как такового :)
На джанго все настолько просто и быстро пишется, что иногда проще написать с нуля :)
Суровые сибирские мужики чуть не подавились чаем от удивления. Их уже столько написано, что всех и не запомнить, а их, оказывается, нет.
Согласен. auth приходится подпатчивать, есть написаные мной же аппы (например те же коменты) которых нельзя было сыскать раньше. Но назвать их реюзабельными не могу, так как при использовании в новых проектах что-то приходится переписывать/дописывать. Да и джанга меняется, что по хорошему надо все время апдейтить код, чтобы он был актуален.
UFO just landed and posted this here
Ну, конечно можно. Менеджер просто переопределите — и все.
я, наверное чего-то не понимаю, но, имхо, каждый второй самопальный фреймворчатый велосипед умеет работать с несколькими БД одновременно. Где подвох?
Можно ссылочки посмотреть?
pylons и его модели, например
Это как бы не «каждый второй самопальный фрейворчатый велосипед». А вполне себе «взрослый» проект.
ну тогда куда ни плюнь, везде будет «взрослый», начиная с webpy.

но обсуждаемая возможность была одной из эээ «особенностей» Django, тех, что бесили. одна из тех, из-за которых лично я с нее ушел.

«все кругом умеют к нескольким базам, одна django сама умная» (с)
> лично я с нее ушел.

На куда? :-)
на много куда. в том числе на выше упомянуто :)
и давай минусовать, ага.
Ну а теперь и Джанго может. Что вам не нравится? :)
А вы хоть пробовали сделать то, что написано в документации? мм?
Там как минимум 2 ошибки в 1 строке.
Бэкенд указывается вот так:
'ENGINE': 'django.db.backends.postgresql_psycopg2'
Было-бы хорошо еще иметь возможность указать что такая-то модель(или даже целый аппликейшн) должны работать через недефолтный бекенд (Естественно не в model.Meta а где-нить в специальном месте)
Хех!… Как только отступы не навязываются синтаксически, питонисты точас же на них забивают:
# in settings.py:

DATABASES = {
'default': {
'NAME': 'app_data',
'BACKEND': 'django.db.backends.postgres_psycopg2',
'USER': 'postgres_user',
'PASSWORD': 's3krit'
},
'users': {
'NAME': 'user_data'
'BACKEND': 'django.db.backends.mysql',
'USER': 'mysql_user',
'PASSWORD': 'priv4te'
}
}
P. S. А после «'NAME': 'user_data'» нужна запятая. :-)
Официальная дока — с табами :)
Друзья, я не особо в претензии, но автор данного текста я, а посте об этом не сказано. Что делают в подобных ситуациях?
Вся хохма в том, что я опубликовал пост у себя в блоге. Никого не просил о том, что мой текст использовали, и тем более, критиковали.

Посылаю луч поноса, как и посоветовал Ferroman!

Хотя изначально, такой задумки не было…
Пишут коммент. Автор советуется с совестью и либо апдейтит пост, либо ХОДИТ КАК ПАДЛА ОПЛЕВАНЫЙ ВСЮ СВОЮ НИЧТОЖНУЮ НИКЧЕМНУЮ ЖИЗНЬ!!11 Как-то так.

Все правильно сделал (ц)
Да, в следующий раз, с прицелом на то, что пост «возьмут» на хабр буду писать его по всем канонам местного сообщества :).
тоесть нужно было у тебя спросить разрешения чтобы всех поздравить?
Дурень, это я всех и поздравил, а некто shestera нажал ctrl+C, ctrl+V. Причем, реально не добавил даже пропущенной запятой.
Хамло. В жизни такой же смелый, или только по кнопкам ху**ить горазд?
в жизни я розовый пони, разве не понятно?
ааахаха, молодец. Сразу весь негатив прошел.
Что в твоём тексте было такого уникального, что не было написано официальном сайте?

это? «Поздравляю всех с этой новой фичей, мы давно ждали такой функциональности. Ура!»
Верно, в тексте не было ничего уникального, но он был написан мной, у меня в блоге. Вы, друг мой, скопировали его, но не указали ссылку. Ещё раз повторю, я не в претензии, а просто пытаюсь понять как на хабре обстоят дела с обратными ссылками на захабренные материалы.
Собственно, все, что хотел узнал. Ваши комментарии излишне.
Посылаю Вам луч поноса :)
Как-то давно был проект, в котором надо было использовать субдомены, на каждый из которых своя база, при одном инстансе джанги. Пришлось вплотную ознакомиться с кверисетом и вечно блуждающей глобальной переменной connection, топорным кешированием и коммитом транзакции. Пошел читать исходник джанги — надеюсь там хоть немного прибрались в свете этого радостного события!
А как было бы правильно кешировать?
Сорри, не в туда написал: Правильно — структурно, чтобы дать возможность для хуков. Раз уж есть бекенд, что подразумевает заменяемость функционала, то использование глобальных переменных или недоступного извне кеша, который влияет на заменяемость этого функционала — признак плохого дизайна.
Правильно — структурно, чтобы дать возможность для хуков. Раз уж есть бекенд, что подразумевает заменяемость функционала, то использование глобальных переменных или недоступного извне кеша, который влияет на заменяемость этого функционала — признак плохого дизайна.
Sign up to leave a comment.

Articles