Pull to refresh

Comments 15

The requested URL /2007/11/prosto-fork.html was not found on this server.
Опс) Глюк MT. Поправил, спасибо! :)
В случае же, когда нужно распараллелить выполнение задач, картина такая:
Допустим, веб-сервер получает запрос на подключение.

Впринципе, это просто. Но то как объясняется в большинстве источников, мягко говоря, показывает это со сложной стороны. Надеюсь, эта заметка кому-то поможет.


Я так понимаю, самое интересное потеряно? :)
Весело получилось)
Обычно пишу статьи спонтанно и в темпе поросёнка, ибо времени не хватает, так что полно таких нелепостей) Перескакиваю с мысли на мысль
Спасибо. У вас там в оригинале строки режутся по ширине и не видно конца SQL.
Поправил маленько
Потрясающе, вы просто читаете мои мысли.
Я как раз думал над этим.
> Единственная проблема, select_score нужно вызывать непосредственно у менеджера. У QuerySet
> такого свойства нет. (готов выслушать предложения на этот счёт)
>
предложение:
class ScoreOrderManager(models.Manager):

def get_query_set(self):

""" Выбрать результаты голосования по объекту """

from django.contrib.contenttypes.models import ContentType

model_type = ContentType.objects.get_for_model(self.model)

table_name = self.model._meta.db_table

return super(ScoreOrderManager, self).get_query_set().extra(select={'score': 'SELECT SUM(vote) FROM votes WHERE content_type_id=%i AND object_id=%s.id' % (int(model_type.id), table_name)})

.... определяем менеджер...

Теперь:
Article.mymanager.order_by('-score')
Как вариант пойдёт, но тогда эти результаты будут грузиться постоянно. Не всегда такое подойдёт. (кстати, первый вариант был именно таким, но по выше изложенным причинам от него отказался)
Тогда непонятен смысл добавления mymanager в класс Article. Достаточно создать свой менеджер, в нем метод select_score и перегрузить Article.objects своим менеджером. Дальше вызывать Article.objects.select_score(). Это сделает код более консистентным и понятным на мой взгляд.
>просто добавив свойство (можно переопределить objects)
Что, впринципе, я и делаю. Пример такой лишь для того, чтобы новички поняли, что это не обязательно должен быть objects
кто-нибудь ещё тут пробовал django-votinng? какие отзывы?
Проще попробовать чем описывать
Sign up to leave a comment.

Articles