Аппроксимирующая статистика объекта с Джанго - PullRequest
2 голосов
/ 25 марта 2011

Если бы я сказал, что 70 000 объектов и хотел бы сделать статистику по ним, но статистика не должна быть точной на 100%, каков лучший способ извлечь, скажем, 1000 объектов, сделать статистику по этим объектам, а затем просто масштабировать ее приблизить статистику за 70000? Я не могу найти эффективный способ получить 1000 случайных объектов из набора запросов.

Ответы [ 3 ]

1 голос
/ 25 марта 2011

Вы можете получить случайные объекты с:

objs = list(MyModel.objects().order_by("?")[:1000])

Но базовый order by random, генерируемый для SQL, не особенно эффективен.

0 голосов
/ 25 марта 2011

есть отличный пост по вопросу о получении случайных строк из базы данных (в комментариях также есть несколько хороших моментов).

единственное, что я хотел бы проверить, этополучить некоторые объекты методом "in_bulk", потому что в этом случае вы можете быть еще быстрее.

0 голосов
/ 25 марта 2011

Я знаю, что это не тот ответ, который вы ищете, но иногда, когда вы делаете подробные отчеты, вам нужно больше, чем может предложить ORM Django.Я работал с парнем, который использовал Django для своего основного приложения, но для некоторых инструментов отчетности (и службы JSON) он использовал Flask и SQLAlchemy и смог достичь гораздо большего и без необходимости писать SQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...