6 февраля 2012 г. 18:47 пользователь Arcady Chumachenko <arcady.chumachenko@gmail.com> написал:
Подозреваю, что дело в django-tagging:post-init вызывается при создании объекта, т.е. при вытаскивании его из qs. Может, сделать что-то типа defer('tags') ?--2012/2/6 Sergey Zhizhenko <zlobnyiserg@gmail.com>
Попробуй сделать простейшую вью:
def view(request):
post = Post.objects.all()[:1]
print post
return render_to_template('empty.html')
но главное не отдавай ей экземпляр post - есть подозрение что ты в шаблоне где-то обращаешься к полям Post, которые влекут дополнительные запросы.
Увидишь, что запрос будет один. А дальше разбирайся что творится в шаблоне твоей вьюхи и куда она там лазит так, что влечет выполнение дополнительных запросов. И делай этим полям .select_related().
On 06.02.2012, at 17:58, GSV wrote:
> class PublicManager(Manager):
> """Returns published posts that are not in the future."""
>
> def published(self):
> return self.get_query_set().filter(status__gte=2,
> publish__lte=datetime.datetime.now())
>
> def published_news(self):
> return self.get_query_set().filter(Q(status__gte=2),
> Q(publish__lte=datetime.datetime.now())).exclude(Q(categories__slug='blogs'))
>
> def published_blogs(self):
> return self.get_query_set().filter(status__gte=2,
> publish__lte=datetime.datetime.now()).filter(categories__slug='blogs')
>
> def all_my_blogs(self):
> return self.get_query_set().filter(categories__slug='blogs')
>
>
> On 6 Лют, 15:56, Владимир Корсун <korsun.vladi...@gmail.com> wrote:
>> И что у вас в дефолтном менеджере?
Аркадий Чумаченко // Arcady Chumachenko
веб-проекты // web development
icq is no more, use google talk please
Комментариев нет:
Отправить комментарий