Найти - Пользователи
Полная версия: Фильтр данных по разности дат в полях
Начало » Django » Фильтр данных по разности дат в полях
1
well
Всем привет! Есть задача: выбрать строки, у которых разница в датах между 2-мя определенными колонками меньше 5-ти дней (для примера). Дело в том, что количество дней/часов/минут/секунд может меняться. Так же нужно еще применять другие фильтры и иметь возможность отсортировать по разнице дат. Теперь к практике. Есть модель:
from django.db import models
class DateTest (models.Model):
name = models.CharField (max_length=10, unique = True)
bool_1 = models.BooleanField ()
date_reg = models.DateTimeField (null=True, blank=True, u'Дата регистрации')
bool_2 = models.BooleanField (default = 0)
error_msg = models.CharField(blank=True, max_length=300, verbose_name=u'Ошибка')
comment = models.CharField(blank=True, max_length=100, verbose_name=u'Комментарии')
date_upd = models.DateTimeField (auto_now_add=True, verbose_name=u'Дата обновления')

class Meta:
db_table = 'date_test'

def __unicode__(self):
return u"%s" % (self.name)
Как с помощью Django ORM организовать следующий запрос:
select 
dt.id,
dt.name,
dt.bool_1,
dt.date_reg,
dt.bool_2,
dt.error_msg,
dt.comment,
dt.date_upd,
dt.date_upd - dt.date_reg as date_interval
from date_test dt where
(dt.date_upd - dt.date_reg) < interval '432000' second
order by date_interval;
well
Спасибо, буду копать в эту сторону :).
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB