Есть ли способ добавить поле даты в модели в шаблоне "от до" для расчетных периодов - Django
Я пытаюсь добавить расчетный период в счета-фактуры, которые я генерирую. В настоящее время моя модель содержит два отдельных поля даты, одно из которых хранит дату начала расчетного периода, а другое - дату окончания расчетного периода. Модель выглядит следующим образом
class Bill(models.Model):
billing_period_start = models.DateField(null=True, blank=True)
billing_period_end = models.DateField(null=True, blank=True)
Вопрос :
Есть ли способ добавить два отдельных поля даты в одно поле модели, чтобы я мог получить
из "DateField" в "DateField" шаблон в административной панели и иметь расчетный период в одном поле.
Если вы используете PostgreSQL, вы можете использовать DateRangeField https://docs.djangoproject.com/en/4.1/ref/contrib/postgres/fields/#daterangefield. В противном случае вы можете реализовать пользовательское поле самостоятельно.
Вы можете использовать поле DateRangeField, доступное для postgres.
from django.contrib.postgres.fields import DateRangeField
class Bill(models.Model):
date_range = DateRangeField()
Вы можете присвоить значение этому полю непосредственно с помощью кортежа:
Создайте диапазон от 2021-01-01 до 2021-04-01
bill.date_range = ('2021-01-01', '2021-04-01')
Вы также можете создать диапазон явно с помощью DateTimeTZRange
(это то, что вы получите из базы данных в любом случае):
from psycopg2.extras import DateTimeTZRange
instance.validity_range = DateTimeTZRange(lower='2021-01-01', upper='2021-03-31')
См. здесь подробнее об этой области