#django #python-3.x #django-models
#django #python-3.x #django-моделей
Вопрос:
В модели Django у меня есть два поля с именами date_from , date_to и количество дней. Предполагается, что date_from и date_to имеют только дату и месяц, поэтому мне нужно установить год со значением по умолчанию, которое не знаю, как сделать.number_of_days должно быть количество дней, вычисленных из date_from и date_to. Мне нужна помощь по этому вопросу.
Я новичок в django, поэтому я не знаю, как это сделать
date_from = models.DateField()
date_to = models.DateField()
no_of_days = models.CharField(max_length=50)
итак, допустим, date_from должен принимать 22-2, а date_to — 22-3 без year из calender, а no_of_days должен отображаться как 30, считая количество дней от date_from и date_to.
Ответ №1:
Вы не можете сделать это как поле, но могли бы сделать это как свойство (оно не будет сохранено в базе данных, не может быть отсортировано по etc, но доступно в вашей программе)
@property
no_of_days = (self.date_from - self.date_to).days
или вы могли бы перезаписать класс сохранения
class Save(self, *args, **kwargs):
self.no_of_days = (self.date_from - self.date_to).days
return super().save(*args, **kwargs)