Search
Write a publication
Pull to refresh
0
0

User

Send message
Сам недавно с удивлением узнал о существовании вживленных дефибриляторов. Например, на этом видео видно, как футболист падает, через некоторое время его трясет и он спокойно поднимается:
Если вы переросли гитхабовский readme, то можете попробовать использовать backdoc. Генерируется полностью самостоятельный one-page-doc с навигацией и inline cтилями из простого маркдауна.
На маке 1password в Я.Браузере работает исправно, были проблемы только в самых первых версиях.
ORM — это часть экосистемы джанги. Её можно легко оторвать, отказавшись в пользу алхимии или чистого SQL, но при этом отказаться и от DRY, тестируемости, мультибазовости, репликаций, миграций и доброго десятка необходимых приложений (south, modeltranslate, tastypie, haystack, taggit, contib.auth, contrib.admin, etc...).

К сожалению увидел в статье больше эмоций, чем глубого понимания ORM как инструмента. А как же select_related, prefetch_related, only?

Проблема с News.__unicode__() решается прописыванием select_related для выборки:
news = News.objects.all().select_related('region').order_by("-date")[:10]

Если не хотите при каджой выборке помнить, что нужно сделать select_related — засуньте его вызов в кастомный метод get_query_set и переопределите менеджер.

Чем плох запрос?
User.objects.values('username', 'email').annotate(cnt=Count('id')).filter(cnt__gt=1).order_by('-cnt')

А например в следующем куске кода есть как минимум 2 проблемы:
regions_id = list(News.objects.all().values_list("region_id", flat=True))
print RegionSite.objects.filter(id__in=regions_id)

Первая — 2 запроса в базу, вторая — если попытаться использовать в качестве ключа для кэширования значение из RegionSite.objects.filter(id__in=regions_id).query, то можно огрести exception, в случае пустого значения regions_id.

Для полноты статье не хватает поругать _clone метод QuerySet'а и пары искуственных тестов с «медленными» джоинами в мускуле на helloworld приложении.
А вы пробовали смонтировать ramdisk и положить туда БД? Пример для мускула github.com/miracle2k/linuxutils/blob/master/mysqld-ram.sh

Information

Rating
Does not participate
Registered
Activity