Как составить список всех объектов с определенной датой независимо от времени в поле DateTime - PullRequest
0 голосов
/ 11 июня 2010

У меня есть такая модель

foo=models.char
bar=models.dateime

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

Ответы [ 2 ]

2 голосов
/ 11 июня 2010

Я лично использовал фильтр range и внутренние отметки времени datetime для макс / мин. Например:

date = datetime.date.today()
YourModel.objects.filter(bar__range=(
                                datetime.datetime.combine(
                                        date,
                                        datetime.time.min
                                    ),
                                datetime.datetime.combine(
                                        date,
                                        datetime.time.max
                                    ),
                            ))
0 голосов
/ 11 июня 2010

Предполагая формат даты и времени, например, так: ГГГГММДД ЧЧммсс например: 20100611 171000 будет 11 июня 1020, 5:10 вечера

Предполагается список моделей со следующими датами: 20100609 120000 20100611 161204 20100611 121204 20100611 191204

И вам нужны все модели для 20100611, в псевдокоде вы можете сделать:

for (model in models) 
  if (model.datetime >='20100611 000000' or model.datetime<='20100611 235959')
    filtered_foos.add(model.foo)

Это фактически игнорирует временную часть даты (извините, у меня нет интерпретатора python, синтаксис явно отключен, но вы должны понять)

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