Pull to refresh
0
0
Webchemist @Webchemist

Пользователь

Send message
Хм… А почему они его не сравнили с uwsgi. Это было бы интереснее.
Cherokee стоит попробовать. У нас сейчас все проекты на Django работают на связке Cherokee + scgi. Очень быстро, надежно и удобно.
У Mercurial документация все-же лучше, чем у Git. И опыт многих людей показывает, что миграция на Mercurial для пользователей SVN проще, да и сама система значительно дружелюбнее и удобнее в настройке, чем Git. Так же относительно несложен перенос проектов из SVN в Mercurial (с этим в Git раньше были проблемы, возможно сейчас что-то изменилось). А скорость Mercurial вполне достаточная, и задачи свои он решает не менее эффективно, чем Git.
Критерий истины — практика. Практика показывает более низкий уровень грамотности людей, пользующихся серверными сборками. Это факт. Впрочем, продукт зенда вполне качественный, тут спору нет, и может служить даже как инструмент быстрого развертывания, например для интранет-сервера.
Как досадно, что люди, приходящие в web через php, поколение за поколением не знают не только, что «под капотом», но и вообще элементарных вещей — что такое заголовок запроса, как взаимодействуют приложение и web-сервер… И во многом этому способствуют наборы «все-в-одном». Когда-то — Денвер со товарищи, теперь — это…
Тогда непонятен смысл добавления mymanager в класс Article. Достаточно создать свой менеджер, в нем метод select_score и перегрузить Article.objects своим менеджером. Дальше вызывать Article.objects.select_score(). Это сделает код более консистентным и понятным на мой взгляд.
> Единственная проблема, 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')
2

Information

Rating
Does not participate
Location
Беларусь
Registered
Activity