Python, Django, datetime - PullRequest
       12

Python, Django, datetime

1 голос
/ 29 июня 2009

В моей модели у меня есть 2 свойства datetime:

start_date
end_date

Я бы хотел считать дату окончания одной недели после даты начала

Как мне это сделать?

Ответы [ 2 ]

8 голосов
/ 29 июня 2009

Если вы всегда хотите, чтобы end_date была через неделю после start_date, вы можете создать собственный метод сохранения для вашей модели. Другой вариант будет использовать вместо этого сигналы. Результат будет таким же, но поскольку вы имеете дело с данными моделей, я бы предложил вам использовать собственный метод сохранения. Код для него будет выглядеть примерно так:

class ModelName(models.Model):
    ...

    def save(self):
        # Place code here, which is excecuted the same
        # time the ``pre_save``-signal would be
        self.end_date = self.start_date + datetime.timedelta(days=7)

        # Call parent's ``save`` function
        super(ModelName, self).save()

Вы можете прочитать немного о том, как метод / сигналы сохранения вызывается в документации django по адресу: http://docs.djangoproject.com/en/dev/ref/models/instances/

5 голосов
/ 29 июня 2009
>>> import datetime
>>> start_date = datetime.datetime.now()
>>> end_date = start_date + datetime.timedelta(7)
>>> print end_date
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...