Как сделать запрос Django, используя extra (), переносимый через базу данных? - PullRequest
1 голос
/ 04 мая 2011

У меня есть небольшой проект, который включал просмотр архива статей по годам публикации.

Я использовал трюк, данный в этом другом вопросе , чтобы составить список годов публикации статей и количества статей за эти годы. Он хорошо работает на моем тестовом сервере с SQLite. Поскольку производственный сервер будет полагаться на PostgreSQL, я ищу способ добиться того же в PostgreSQL и в конечном итоге сыграл с ключевым словом EXTRACT. Я использую что-то вроде «настройки импорта», чтобы определить текущую базу данных и выполнить правильный запрос.

С моей точки зрения, все это все больше и больше напоминает грязный и дерьмовый взлом, чтобы решить проблему очень неэкранированным, непроверяемым и плохо обслуживаемым способом. Как начинающий веб-программист, я спрашиваю моего опытного старшего,

Как бы вы справились с этим правильно?

1 Ответ

1 голос
/ 04 мая 2011

В качестве опции для необработанного sql:

Вы можете рассчитать количество в год с помощью ORM (например, Как использовать Django ORM, чтобы получить список по годам всех статей с количеством статей)

Затем вы сохраняете это значение где-то (в модели или в кэше ...), чтобы не перегружать медлительность вычисления ORM.

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