Django - получать отдельные даты по метке времени

Я пытаюсь фильтровать пользователей по дате, но не могу, пока не найду первую и последнюю дату пользователей в БД. Хотя позже у меня может быть сценарий, отфильтровывающий дублирование, я хочу сделать это с самого начала, используя отдельный Django, поскольку он значительно сокращается. Я пробовал

User.objects.values('install_time').distinct().order_by()

, но поскольку install_time - это отметка времени , она включает дату И время (которые меня особо не волнуют). В результате он отфильтровывает только даты, по которым мы могли бы получить даты установки нескольких пользователей , но не время .

Есть идеи, как это сделать? Я использую Django 1.3.1, Postgres 9.0.5 и последнюю версию psycopg2.

РЕДАКТИРОВАТЬ: Я забыл добавить тип данных install_time :

install_time = models.DateTimeField()

РЕДАКТИРОВАТЬ 2: Вот пример вывода оболочки Postgres вместе с быстрым объяснением того, что я хотите:

 2011-09-19 00:00:00
 2011-09-11 00:00:00
 2011-09-11 00:00:00 <--filtered out by distinct() (same date and time)
 2011-10-13 06:38:37.576
 2011-10-13 00:00:00 <--NOT filtered out by distinct() (same date but different time)

Мне известно о Manager.raw , но я бы предпочел, чтобы пользователь django.db.connection.cursor писал запрос непосредственно после Manager.raw ] возвращает RawQuerySet , что, IMO, хуже, чем просто написание SQL-запроса вручную и повторение.

8
задан Edwin 21 December 2011 в 22:15
поделиться