<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
	<title>Хабрахабр / Комментарии к посту «Pyrant+PyModels — легчайшая замена Django ORM*» в блоге «Python»</title>
	<link>http://habrahabr.ru/rss/post/80062/</link>
	<description><![CDATA[Новые комментарии к посту «Pyrant+PyModels — легчайшая замена Django ORM*» в блоге «Python»]]></description>
	<language>ru</language>
	<managingEditor>editor@habrahabr.ru</managingEditor>
	<generator>habrahabr.ru</generator>
	<pubDate>Sat, 11 Feb 2012 17:47:14 GMT</pubDate>
	<lastBuildDate></lastBuildDate>
	<image>
		<link>http://habrahabr.ru/</link>
		<url>http://habrahabr.ru/i/logo.gif</url>
		<title>Хабрахабр</title>
	</image>
	

	
	
	
	
	
		
	
		<item>
			<title>26.01.2012 12:49:53 dvska</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_4562577</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_4562577</link>
			<description><![CDATA[<a href="http://www.allbuttonspressed.com/goodbye">www.allbuttonspressed.com/goodbye</a>]]></description>
			<pubDate>Thu, 26 Jan 2012 12:49:53 GMT</pubDate>
			<author>dvska</author>
		</item>
	

	
		<item>
			<title>24.08.2010 21:59:51 neithere</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_3186547</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_3186547</link>
			<description><![CDATA[… и, наконец, в <a href="http://pypi.python.org/pypi/docu">Docu</a> :)]]></description>
			<pubDate>Tue, 24 Aug 2010 21:59:51 GMT</pubDate>
			<author>neithere</author>
		</item>
	

	
		<item>
			<title>17.03.2010 15:07:13 neithere</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2634131</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2634131</link>
			<description><![CDATA[UPD: Models были переименованы в PyModels, поскольку имя библиотеки (т.е. базовые модели и тд) конфликтовало с именем локального модуля (где сидят ваши модели). Соответственно, поменялись ссылки. Статью обновил.]]></description>
			<pubDate>Wed, 17 Mar 2010 15:07:13 GMT</pubDate>
			<author>neithere</author>
		</item>
	

	
		<item>
			<title>16.01.2010 02:09:15 neithere</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2390087</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2390087</link>
			<description><![CDATA[Думаю, лучше всего ориентироваться на <a href="http://groups.google.com/group/django-developers/browse_thread/thread/bf9d8808ee5aadb4">обсуждение переноса Django на Python 3</a>. То есть, избегать расслоения кода на ветки py2/py3.]]></description>
			<pubDate>Sat, 16 Jan 2010 02:09:15 GMT</pubDate>
			<author>neithere</author>
		</item>
	

	
		<item>
			<title>09.01.2010 23:18:16 neithere</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2366571</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2366571</link>
			<description><![CDATA[Замечательно! Кстати, в следующей версии Models всё, что связано с Pyrant, будет вынесено в models.backends.tyrant. Если все стандартные тесты Pyrant ваша ветка пройдет, с бэкендом проблем тоже не будет. Только надо подумать, как обеспечить взаимозаменяемость pyrant и tx-pyrant. Можно сделать доп. бэкенд на основе имеющегося (просто подменять класс Tyrant). Можно поступить как с факультативными сишными реализациями обычно, т.е. try/except с приоритетом tx (?). Ну и вообще интересно, есть ли смысл в существовании параллельных версий в перспективе.]]></description>
			<pubDate>Sat, 09 Jan 2010 23:18:16 GMT</pubDate>
			<author>neithere</author>
		</item>
	

	
		<item>
			<title>09.01.2010 19:50:27 Deepwalker</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2366004</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2366004</link>
			<description><![CDATA[Кстати у меня получилось все — ваш код models не пришлось даже трогать — <a href="http://habrahabr.ru/blogs/python/80339/">habrahabr.ru/blogs/python/80339/</a><br/>
<a href="http://github.com/Deepwalker/deepwalker_sandbox">github.com/Deepwalker/deepwalker_sandbox</a>]]></description>
			<pubDate>Sat, 09 Jan 2010 19:50:27 GMT</pubDate>
			<author>Deepwalker</author>
		</item>
	

	
		<item>
			<title>07.01.2010 22:12:06 neithere</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2359505</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2359505</link>
			<description><![CDATA[<a href="http://bitbucket.org/wkornewald/djangoappengine/">bitbucket.org/wkornewald/djangoappengine/</a>]]></description>
			<pubDate>Thu, 07 Jan 2010 22:12:06 GMT</pubDate>
			<author>neithere</author>
		</item>
	

	
		<item>
			<title>07.01.2010 21:22:21 Deepwalker</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2359327</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2359327</link>
			<description><![CDATA[Просто удобно использовать в Twisted декоратор defer.inlineCallbacks, а он предполагает использование yield. Ну и мне сомнительно, чтобы можно было написать так — yield db['kuku']='data', да и колбек тут тоже повесить некуда: ) То есть неблокирующие операции имеют свою цену в некотором снижении удобства, но от этого пока никуда не деться.<br/>
Потому и api просто так не перельется — из-за вот таких вот заморочек.<br/>
Я хочу собрать фреймворк полностью, поэтому буду думать, как сделать лучше и удобнее.]]></description>
			<pubDate>Thu, 07 Jan 2010 21:22:21 GMT</pubDate>
			<author>Deepwalker</author>
		</item>
	

	
		<item>
			<title>07.01.2010 19:50:15 neithere</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2358955</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2358955</link>
			<description><![CDATA[Вы, похоже, форкнули старую версию, которая лежит у Мартина. По-моему, лучше брать то, что на битбакете.<br/>
<br/>
Про выборку ничего не понял, подожду кода с примером :)<br/>
Вообще, имхо, есть смысл стараться работать с каким-то одним из слоев (протокол, dict-like, query) и стараться сохранять API этого слоя. Это возможно в нашем случае или нет?]]></description>
			<pubDate>Thu, 07 Jan 2010 19:50:15 GMT</pubDate>
			<author>neithere</author>
		</item>
	

	
		<item>
			<title>07.01.2010 19:25:10 Deepwalker</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2358866</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2358866</link>
			<description><![CDATA[Начало здесь:<br/>
<a href="http://github.com/Deepwalker/tx-tokyo">github.com/Deepwalker/tx-tokyo</a><br/>
<br/>
Сейчас сделал базу — без pythonic/dict like. Потому что мне не совсем прозрачно, как через yield делать выборку из словаря: ) Поэтому я думаю, что dict like я оторву. Не такая уж это великая сложность вместо []= написать .set().]]></description>
			<pubDate>Thu, 07 Jan 2010 19:25:10 GMT</pubDate>
			<author>Deepwalker</author>
		</item>
	

	
		<item>
			<title>06.01.2010 18:38:59 neithere</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2356432</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2356432</link>
			<description><![CDATA[Если возьметесь, добавьте здесь ссылку, плиз. Интересно. :)<br/>
]]></description>
			<pubDate>Wed, 06 Jan 2010 18:38:59 GMT</pubDate>
			<author>neithere</author>
		</item>
	

	
		<item>
			<title>06.01.2010 17:57:55 brainerazer</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2356332</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2356332</link>
			<description><![CDATA[Хотелось бы нативной поддержки джангой аппенджайна… Эх…]]></description>
			<pubDate>Wed, 06 Jan 2010 17:57:55 GMT</pubDate>
			<author>brainerazer</author>
		</item>
	

	
		<item>
			<title>06.01.2010 15:49:17 neithere</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2356038</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2356038</link>
			<description><![CDATA[&gt; пока не лезешь сильно глубоко, соотношение фич к неудобствам у Django Admin великолепное. [...] а если самому всё постоянно делать идеально, то и жизни не хватит!<br/>
<br/>
Дык в том и проблема, что Django снимает множество вопросов, за что приходится платить позже. Как понадобится что-то, о чем авторы Django не думали, монолитность джанги ка-а-ак шабаркнет граблеручкой по лбу… Удивляться не приходится, ведь такова ниша проекта.<br/>
<br/>
Писать с нуля всё целиком — затея не гиблая (ибо та же Django — результат такой затеи), но очень рискованная, тяжелая и требующая редкого сочетания личных качеств у авторов. Поэтому я и рассматриваю вариант с Pylons, где тоже всё более-менее готово, а связность компонентов не такая жесткая и можно экспериментировать свободнее.<br/>
<br/>
Внешние приложения — половина могущества фреймворка. Терять их было бы печально. Но тут надо учесть, что ряд наиболее популярных из них включает в себя целые куски сырого SQL и поэтому в любом случае должен быть портирован на конкретный бэкенд. Может быть, со временем к тому и придем в рамках сохранения смысла слова «reusable». А пока особенной разницы между django-mptt-pyrant и models-mptt не видится. Кроме того, что последний можно было бы использовать не только в Джанге, но где угодно еще, включая консольные приложения. То же и с django-voting и подобными.<br/>
<br/>
Некоторые существующие приложения при смене бэкенда вообще теряют смысл. Например, django-tagging в Tyrant реализуется обычным текстовым полем и лукапом __contains (хранилище само умеет различать tokens в строках и всяко эффективно искать по ним). <br/>
<br/>
Ну и, да, часть сложных приложений жестко завязана на API различных компонентов Django и отвинтить всё это не представляется возможным: django-filter, django-photologue и т.д.; переписывать тяжело, и чтобы пользоваться ими, нужно написать джанговый бэкенд на базе Pyrant.<br/>
<br/>
&gt; во-первых, есть django-couchdb, из которого можно черпать вдохновение<br/>
<br/>
Вдохновение ли. Мне кажется, там выбран довольно странный подход. Преимущества и особенности кауча игнорируются, база притягивается за уши к чужеродной среде. Карьерный экскаватор с реактивным двигателем.<br/>
<br/>
&gt; во-вторых, товарищи любители NoSQL для Django замышляют более удобные классы для поддержки нереляционных баз данных (в django-dev последние сообщения на эту тему тут и здесь),<br/>
<br/>
Во-от, именно эту штуку я и жду :)<br/>
По-моему, у Вальдемара сейчас всё сломано. Я удовольствием занялся бы написанием бэкенда, когда будет более-менее стабильная нереляционная веточка, серьёзно метящая в транк. Впрочем, сейчас почитаю ссылки, мейби выяснится что-то новое и счастливое.<br/>
]]></description>
			<pubDate>Wed, 06 Jan 2010 15:49:17 GMT</pubDate>
			<author>neithere</author>
		</item>
	

	
		<item>
			<title>06.01.2010 14:16:00 sovnarkom</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2355747</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2355747</link>
			<description><![CDATA[2 ветки в основном репозитории + свой репозиторий у мейнтейнера. КО.]]></description>
			<pubDate>Wed, 06 Jan 2010 14:16:00 GMT</pubDate>
			<author>sovnarkom</author>
		</item>
	

	
		<item>
			<title>06.01.2010 12:06:31 Deepwalker</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2355322</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2355322</link>
			<description><![CDATA[Знаете, я наверное перепишу pyrant и сделаю tx-pyrant. Просто если переписаться на твистед, то с обычными скриптами там делать уже нечего — надо обязательно уже работать только в рамках твистед. Будет ветка: )<br/>
<br/>
А вот по логике втыкаемой, тут я не очень понимаю — это получается REST прослойка между сервером tyrrant и конечным клиентом? Ну на твистед это легко достаточно сделать. Просто надо всегда помнить, что мы работает в одном потоке, и тяжелые обработки надо скидывать в другие потоки.]]></description>
			<pubDate>Wed, 06 Jan 2010 12:06:31 GMT</pubDate>
			<author>Deepwalker</author>
		</item>
	

	
		<item>
			<title>06.01.2010 11:28:36 neithere</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2355189</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2355189</link>
			<description><![CDATA[Грубо говоря, <code>table_database = {'primary_key': '\x00'.join('name', 'john', 'age', '123')}</code><br/>
Т.е. табличный режим — просто надстройка над key/value. Главное щасье — в механизме поиска, который из коробки правильно работает с сериализованными значениями, не путает названия со значениями.]]></description>
			<pubDate>Wed, 06 Jan 2010 11:28:36 GMT</pubDate>
			<author>neithere</author>
		</item>
	

	
		<item>
			<title>06.01.2010 11:19:51 BooBSD</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2355160</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2355160</link>
			<description><![CDATA[Что такое документо-ориентированные БД я знаю. Не знал что Tokyo Cabinet умеет работать в «табличном» режиме. Стало интересно, что под этим подразумевается.]]></description>
			<pubDate>Wed, 06 Jan 2010 11:19:51 GMT</pubDate>
			<author>BooBSD</author>
		</item>
	

	
		<item>
			<title>06.01.2010 11:19:35 neithere</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2355157</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2355157</link>
			<description><![CDATA[Тоже вариант. Но необходимость патчить джангу очень-очень сильно смущает. Я все проекты держу на транке. Нет более бездарной траты времени, чем поиски бага, вызванного недокументированным конфликтом библиотек и патчей. Именно поэтому мне кажется, что есть смысл подождать, пока тот же Вальдемар допилит и вольет в транк свой мегапатч. См. <a href="http://habrahabr.ru/blogs/python/80062/#comment_2354038">habrahabr.ru/blogs/python/80062/#comment_2354038</a>]]></description>
			<pubDate>Wed, 06 Jan 2010 11:19:35 GMT</pubDate>
			<author>neithere</author>
		</item>
	

	
		<item>
			<title>06.01.2010 11:13:50 neithere</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2355136</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2355136</link>
			<description><![CDATA[&gt; А я так и не понял — кто автор? Martin Conte Mac Donell, или вы?<br/>
<br/>
См. <a href="http://habrahabr.ru/blogs/python/80062/#comment_2354085">habrahabr.ru/blogs/python/80062/#comment_2354085</a><br/>
Pyrant написан МакДонеллом на базе кода Ипполито и Флоренцано, а затем значительно улучшен мною и lasizoillo.<br/>
Models написал я.<br/>
<br/>
&gt; Я бы привязал это дело к twisted наверное.<br/>
<br/>
Мне пока не довелось работать с Twisted, поэтому чрезвычайно туманно представляю себе результат. Может, распишете подробнее с примерами? Не исключено, что в итоге был бы смысл так и сделать. Необходимость гибкого и легковесного (не)веб-фреймворка очевидна. Под «не-веб» имею в виду «слепой» сервер rest/json с возможностью втыкать нужную логику на питоне. Это очень похоже на CouchDB, но там мне не нравится навязывание «вывернутой» модели разработки. Попробуй замени бэкенд, когда всё твое приложение — middleware.]]></description>
			<pubDate>Wed, 06 Jan 2010 11:13:50 GMT</pubDate>
			<author>neithere</author>
		</item>
	

	
		<item>
			<title>06.01.2010 10:54:50 ingspree</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2355063</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2355063</link>
			<description><![CDATA[А каким образом хендлить две версии? Есть идеи, как бы содержать всë в чистоте и порядке? :)]]></description>
			<pubDate>Wed, 06 Jan 2010 10:54:50 GMT</pubDate>
			<author>ingspree</author>
		</item>
	

	
		<item>
			<title>06.01.2010 10:35:08 lol2Fast4U</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2354992</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2354992</link>
			<description><![CDATA[Лучше бы допилили привязку Django ORM к MongoDB, которая <a href="http://bitbucket.org/kpot/django-mongodb/">bitbucket.org/kpot/django-mongodb/</a>]]></description>
			<pubDate>Wed, 06 Jan 2010 10:35:08 GMT</pubDate>
			<author>lol2Fast4U</author>
		</item>
	

	
		<item>
			<title>06.01.2010 07:40:12 Deepwalker</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2354556</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2354556</link>
			<description><![CDATA[А я так и не понял — кто автор? Martin Conte Mac Donell, или вы?<br/>
Я бы привязал это дело к twisted наверное. Схемы URL от джанго + pyrant + twisted + jinja + чего-нибудь для форм, и вышел бы славный, очень производительный, фреймворк.<br/>
Почему twisted, а не пилонсы или торнадо? Потому что twisted это не только HTTP, а взаимодействовать надо зачастую с разными протоколами, да и нравится мне возможность гибко лавировать между использованием генераторного стиля и макаронно-колбечного. В случае с колбеками можно породить независимый процесс обработки какой-нибудь.]]></description>
			<pubDate>Wed, 06 Jan 2010 07:40:12 GMT</pubDate>
			<author>Deepwalker</author>
		</item>
	

	
		<item>
			<title>06.01.2010 02:40:10 neithere</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2354335</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2354335</link>
			<description><![CDATA[О чем именно?<br/>
<br/>
Под «document-oriented database» я понимаю хранилище записей произвольной структуры. CouchDB и MongoDB эту структуру хранят в JSON, а Tokyo Cabinet — в строке, которую расширение TDB дополнительно дробит на пары ключ/значение. Таким образом, кауч и монго вообще не накладывают ограничений на структуру документа, токио ограничивает вложенность (можно сериализовать значения, но тогда отрубится часть поисковых фич), а реляционные БД ограничивают еще и количество и типы свойств документа. Реляционные — это таблицы, а док.-ориент. — вменяемая реализация EAV, где entity — документ, а attribute/value — свойство документа.<br/>
<br/>
Можно об этом почитать Катца (автора CouchDB) и комменты: <a href="http://damienkatz.net/2006/05/document_orient.html">damienkatz.net/2006/05/document_orient.html</a><br/>
А можно некоторые мои измышления (чуть устаревшие и скорее об RDF): <a href="http://neithere.net/dev/notes/databases/">neithere.net/dev/notes/databases/</a><br/>
Ну и какой-то обзорчик, собственно, покоится в википедии: <a href="http://en.wikipedia.org/wiki/Document-oriented_database">en.wikipedia.org/wiki/Document-oriented_database</a>]]></description>
			<pubDate>Wed, 06 Jan 2010 02:40:10 GMT</pubDate>
			<author>neithere</author>
		</item>
	

	
		<item>
			<title>06.01.2010 01:40:28 BooBSD</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2354301</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2354301</link>
			<description><![CDATA[&gt; так и «табличное», а вернее — документо-ориентированное<br/>
<br/>
Скажите, пожалуйста, где об этом можно почитать подробнее?]]></description>
			<pubDate>Wed, 06 Jan 2010 01:40:28 GMT</pubDate>
			<author>BooBSD</author>
		</item>
	

	
		<item>
			<title>06.01.2010 01:16:14 buriy</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2354284</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2354284</link>
			<description><![CDATA[увы, в админке джанго накоплено огромное количество фич.<br/>
как и в любом большом проекте, понемногу накапливаются неудобства.<br/>
но эти фичи есть, они есть сразу, они работают.<br/>
пока не лезешь сильно глубоко, соотношение фич к неудобствам у Django Admin великолепное.<br/>
то же самое касается Django Forms, Django urlconf, Django middleware, django.contrib.auth, django 3rd party plugins, и прочих вещей…<br/>
а если самому всё постоянно делать идеально, то и жизни не хватит!<br/>
<br/>
и вообще, мне лично интересно именно быстрое прототипирование на Django, мне нравятся быстрые и легко масштабируемые базы данных. поэтому у меня недюжинный интерес к этой теме.<br/>
<br/>
а что касается поддержки Django,<br/>
то, во-первых, есть <a href="http://github.com/42/42-django-couchdb/">django-couchdb</a>, из которого можно черпать вдохновение,<br/>
во-вторых, товарищи любители NoSQL для Django замышляют более удобные классы для поддержки нереляционных баз данных (в django-dev последние сообщения на эту тему <a href="http://groups.google.com/group/django-developers/browse_frm/thread/7904c7da7cb0085f/94943ef4b13d46f2?lnk=gst&amp;q=sql#94943ef4b13d46f2">тут</a> и <a href="http://groups.google.com/group/django-developers/browse_frm/thread/fcf501d073ae33f/9e1aabf3424c24f8?lnk=gst&amp;q=sql#9e1aabf3424c24f8">здесь</a>),<br/>
а в-третьих, Alex Gaynor провёл большую работу, связанную с освобождением кода Django от хардкоженного SQL для m2m: <a href="http://code.djangoproject.com/changeset/11710">Commit 11710</a> и необходимую для поддержки множества разных баз данных в Django (<a href="http://code.djangoproject.com/changeset/11952">Commit 11952</a>).]]></description>
			<pubDate>Wed, 06 Jan 2010 01:16:14 GMT</pubDate>
			<author>buriy</author>
		</item>
	

	
		<item>
			<title>06.01.2010 00:06:38 sovnarkom</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2354207</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2354207</link>
			<description><![CDATA[К сожалению не обладаю достаточным опытом работы с «бессхемными базами», осваиваю вот, но в принципе не вижу пока явных проблем с добавлением бекенда.<br/>
<br/>
Единственное, не знаю вот как там будет с регулярными выражениями в запросах типа<br/>
«t.query.filter(name__matches='^.+ry$')»]]></description>
			<pubDate>Wed, 06 Jan 2010 00:06:38 GMT</pubDate>
			<author>sovnarkom</author>
		</item>
	

	
		<item>
			<title>05.01.2010 23:55:33 neithere</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2354184</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2354184</link>
			<description><![CDATA[Было бы славно! Ссылку добавил. Кстати, насчет PyMongo: есть ли смысл делать в Models бэкенд для неё? По-моему, было бы славно обеспечить в приложениях более-менее drop-in совместимость между разными бессхемными базами. Не знаю, как быть с каучем, но у MongoDB довольно стандартный API, клеевой код должен получиться тонким… или нет?]]></description>
			<pubDate>Tue, 05 Jan 2010 23:55:33 GMT</pubDate>
			<author>neithere</author>
		</item>
	

	
		<item>
			<title>05.01.2010 23:39:16 sovnarkom</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2354135</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2354135</link>
			<description><![CDATA[Я вообще придерживаюсь позиции, что любые новые проекты желательно делать и в версии для python3. Я понимаю, что в продакшн пока сложно это засунуть, но вечно на 2 ветке нельзя оставаться. Если есть возможность — лучше уж сразу писасть совместимый код.<br/>
<br/>
Вот пару часов как-раз начал PyMongo портировать на Py3.1. Повеселюсь чувствую…<br/>
<br/>
Во, кстати заметил ссылку на bitbucket в комментариях (предлагаю добавить в пост), если будет время может и им займусь.]]></description>
			<pubDate>Tue, 05 Jan 2010 23:39:16 GMT</pubDate>
			<author>sovnarkom</author>
		</item>
	

	
		<item>
			<title>05.01.2010 23:20:03 neithere</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2354087</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2354087</link>
			<description><![CDATA[Если потребуется — будет :)]]></description>
			<pubDate>Tue, 05 Jan 2010 23:20:03 GMT</pubDate>
			<author>neithere</author>
		</item>
	

	
		<item>
			<title>05.01.2010 23:18:29 neithere</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2354085</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2354085</link>
			<description><![CDATA[Спасибо) Models действительно пока дело только моих копытец, а Pyrant — плод <a href="http://bitbucket.org/neithere/pyrant/src/tip/AUTHORS">коллективного труда</a>. Будет славно, если со временем сформируется сообщество вокруг обоих проектов.]]></description>
			<pubDate>Tue, 05 Jan 2010 23:18:29 GMT</pubDate>
			<author>neithere</author>
		</item>
	

	
		<item>
			<title>05.01.2010 23:03:44 neithere</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2354038</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2354038</link>
			<description><![CDATA[Я сначала хотел Pyrant прикрутить именно к Джанге, потому что пока всё делаю в ней, но после осмотра бэкенда для CouchDB мне кажется, что лучше немного подождать. Django ORM очень сильно привязан к SQL. Очевидно среди ведущих разработчиков пробудился интерес к schema-less/non-sql и какое-то движение началось, но я с трудом представляю себе, какой объем работы нужен для отвязывания моделей и механизмов запросов от подмножества БД, сколько эта работа может занять и кому попадет под хвост достаточно жгучая вожжа, чтобы таки эту самую работу сделать, а не просто поковыряться палочкой.<br/>
<br/>
Кроме того, недавно надо было для джанговой админки сделать динамически генерируемые формы (EAV), так столько ржавых граблей обнаружилось под листвою, что мне уже эта админка кажется не таким уж и преимуществом. Во всяком случае, в нынешнем виде.<br/>
<br/>
По-моему, проще взять какие-нибудь Pylons и воткнуть туда Pyrant с Models. Может быть, и новую админку написать-прицепить. В сущности, не так уж и много работы нужно, чтобы получить generic barebones админку (list/CRUD), основанную на какой-нибудь фреймворконезависимой форм-библиотеке. Джанговы формы хороши, но они же не единственные такие в мире. Можно и что-то ближе к Fulton сваять.<br/>
<br/>
Что касается Models — просто в какой-то момент стало интересно, зачем в Джанге всё так сложно и нельзя ли проще. Как ни странно, оказалось, что можно %)<br/>
Оно пока сырое, но работает… Кстати, я еще не закоммитил новую версию, где Pyrant вынесен в backends. Так что можно админку делать для более широкой ниши. ]]></description>
			<pubDate>Tue, 05 Jan 2010 23:03:44 GMT</pubDate>
			<author>neithere</author>
		</item>
	

	
		<item>
			<title>05.01.2010 23:02:07 kmike</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2354031</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2354031</link>
			<description><![CDATA[<a href="http://neithere.habrahabr.ru/" class="user_link">neithere</a> скромно умолчал, что это все его рук дело. Так что благодарить его стоит вовсе не за новость)]]></description>
			<pubDate>Tue, 05 Jan 2010 23:02:07 GMT</pubDate>
			<author>kmike</author>
		</item>
	

	
		<item>
			<title>05.01.2010 23:00:40 wildMan</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2354026</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2354026</link>
			<description><![CDATA[в дополнение к посту выше. соответственно на задачах например простейшего документооборота, где часто приходится делать свою «псевдообъектную обёртку» над реляционными БД можно получить выигрыш как от уменьшения количества кода так и по скорости.]]></description>
			<pubDate>Tue, 05 Jan 2010 23:00:40 GMT</pubDate>
			<author>wildMan</author>
		</item>
	

	
		<item>
			<title>05.01.2010 22:58:02 wildMan</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2354016</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2354016</link>
			<description><![CDATA[спасибо за новость. как то прошло мимо. надо будет присмотрется. т.к. админка вс1 равно в проекте не используется попробую потестить :)]]></description>
			<pubDate>Tue, 05 Jan 2010 22:58:02 GMT</pubDate>
			<author>wildMan</author>
		</item>
	

	
		<item>
			<title>05.01.2010 22:54:34 kmike</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2354002</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2354002</link>
			<description><![CDATA[Неверная аналогия. Django ORM — это интерфейс к реляционным БД, Pyrant+Models — к нереляционной БД. Там совсем другой принцип работы, некоторые вещи не работают принципиально, некоторые работают сильно быстрее. Разница не в синтаксисе, как между propel и doctrine, а глубже.]]></description>
			<pubDate>Tue, 05 Jan 2010 22:54:34 GMT</pubDate>
			<author>kmike</author>
		</item>
	

	
		<item>
			<title>05.01.2010 21:59:05 buriy</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2353751</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2353751</link>
			<description><![CDATA[Спасибо тебе огромное за models!<br/>
А интересно ли тебе заняться интеграцией Pyrant в обратную сторону, с Django Admin Interface?<br/>
Увы, база данных без GUI / WebUI для меня не достаточно удобна в использовании…]]></description>
			<pubDate>Tue, 05 Jan 2010 21:59:05 GMT</pubDate>
			<author>buriy</author>
		</item>
	

	
		<item>
			<title>05.01.2010 21:36:55 sovnarkom</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2353649</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2353649</link>
			<description><![CDATA[3 питон поддерживается?]]></description>
			<pubDate>Tue, 05 Jan 2010 21:36:55 GMT</pubDate>
			<author>sovnarkom</author>
		</item>
	

	
		<item>
			<title>05.01.2010 21:33:01 DMS</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2353632</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2353632</link>
			<description><![CDATA[легковесностью же]]></description>
			<pubDate>Tue, 05 Jan 2010 21:33:01 GMT</pubDate>
			<author>DMS</author>
		</item>
	

	
		<item>
			<title>05.01.2010 21:31:53 andrew_tch</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2353623</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2353623</link>
			<description><![CDATA[symfony/propel vs symfony/doctrine]]></description>
			<pubDate>Tue, 05 Jan 2010 21:31:53 GMT</pubDate>
			<author>andrew_tch</author>
		</item>
	

	
		<item>
			<title>05.01.2010 21:29:56 muslimov</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/80062/#comment_2353613</guid>
			<link>http://habrahabr.ru/blogs/python/80062/#comment_2353613</link>
			<description><![CDATA[конкретно, чем лучше django orm?]]></description>
			<pubDate>Tue, 05 Jan 2010 21:29:56 GMT</pubDate>
			<author>muslimov</author>
		</item>
	

	
</channel>
</rss>

