Найти - Пользователи
Полная версия: Поле в медели, равное разности дат
Начало » Django » Поле в медели, равное разности дат
1
well
Всем привет! Есть модель:
from datetime import timedelta
class MyModel (models.Model):
name = models.CharField()
first_date = models.DateTimeField ()
second_date = models.DateTimeField ()

def simple_def (self):
max_sec = 432000
res_date = self.second_date - self.first_date
if (timedelta (seconds = max_sec) > res_date):
ret_val = 1
else:
ret_val = 0
return ret_val
Суть в следующем: при обращении к методу simple_def получать единицу, если разница дат более 5 суток (432000 секунд). Хотелось бы иметь возможность сортировать по этому полю и делать выборку по нему. Можно ли это как-то организовать через MyModel, чтобы при обращении
MyModel.objects.filter (simple_def=1)
, получать нужные мне поля?
slav0nic
только сделав метод класса модели полем базы данных, а нужные вычисления делать в save()
и почитай про http://docs.python.org/library/datetime.html#datetime.timedelta В)
well
slav0nic
только сделав метод класса модели полем базы данных, а нужные вычисления делать в save()
Тогда, если я захочу изменить значение max_sec, то для старых записей поле в БД не изменится. Прийдется реализовывать отдельно фильтр и выборку.
slav0nic
и почитай про http://docs.python.org/library/datetime … .timedelta В)
Сори, упустил, уже поправил.
slav0nic
well
ну вынеси в settings
well
slav0nic
well
ну вынеси в settings
Так и сделаю, спасибо за помощь.
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