Сайтът вече работи под Django 1.8

Публикувано на

На първи Април излезе новата версия на Django. Това много чакана версия, поне за мен. В нея има много нови неща, но някой от тях очаквах с нетърпение заради блога ми:

  1. Вече може лесно да се създават сложни SQL заявки и вече няма нужда от хака, който ползвах за филтриране на агрегиращ Count в Django, за който бях писал.
  2. Оправен е проблемът с inclusion_tag-овете, който пречеше да се полва django-wpadmin и Django Cached Template Loader

Сега вече сайтът работи с новата версия и нямам хакове с чист SQL код (дори в Django 1.8 хака не работи), а темплейтите са кеширани и не се четат от дисковото устройство на всяка заявка. 

Така успешно замених следният код:

Category.objects.annotate(entries_count=Count('entries',
               field='CASE WHEN blog_entries.is_published THEN 1 END'))

със:

Category.objects.annotate(entries_count=Count(Case(When(entries__is_published=True, then=1))))

Повече подробности за сложните SQL заявки може да прочетете в документацията на Django: https://docs.djangoproject.com/en/1.8/ref/models/conditional-expressions/

Пълната информация за всички нови екстри, както и за несъвместимостите със старите версии може да прочетете в анонса за новата версия: https://docs.djangoproject.com/en/1.8/releases/1.8/

blog comments powered by Disqus