Вы можете переопределить свой метод save()
в своей модели.
Обратите внимание , что DateTimeField
в Django становится объектом datetime.datetime
.Таким образом, чтобы извлечь из него дату, вам нужно позвонить field.date()
.
Пример:
models.py
from django.db import models
import datetime
class Payment(models.Model):
event_date = models.DateField()
payment_due_date = models.DateField()
class Meta:
ordering = ["payment_due_date"]
def save(self, *args, **kwargs):
if self.payment_due_date is None:
self.payment_due_date = self.event_date.date() + datetime.timedelta(days=2)
super(Payment, self).save(*args, **kwargs)