昨天我花了大部分時間試圖找到答案,但無法弄清楚如何將修飾器添加到模型中。如何在Django模型中計算日期?
目標:根據用戶輸入的天數計算日期。 使用案例:用戶輸入「開始日期」和表格中的天數。 例如,用戶輸入2017年1月1日開始日期,天數= 5。計算日期應爲2017年6月16日。
我無法獲得計算字段在我的模板上通過。
下面的代碼片段。
#models.py
from datetime import datetime, timedelta
from django.db import models
from django_extensions.db.models import TimeStampedModel
from django.urls import reverse
class Lease(TimeStampedModel):
location_name = models.CharField(max_length=120)
contingency_start_date = models.DateField(null=True, blank=True)
contingency_period_in_days = models.IntegerField(default=0)
...
def __str__(self):
return self.location_name
@property
def get_contingency_end_date(self):
return datetime.date(self.contingency_start_date) +
timedelta(days=self.contingency_period_in_days)
views.py
class LeaseDetailView(generic.DetailView):
model = Lease
def get_context_data(self, **kwargs):
context = super(LeaseDetailView, self).get_context_data(**kwargs)
context['options_list'] = Option.objects.all()
return context
detail.html
<li><strong>Start date</strong> {{ lease.contingency_start_date }}</li>
<li><strong>contingency_in_days </strong> {{ lease.contingency_period_in_days }}</li>
不工作
<li><strong>End date: </strong> {{ lease.get_contingency_end_date }}</li>
*拉過我的模板。*你的意思是? –
請修復您的縮進。 – 2ps
@MosesKoledoye - 通過拉直,我的意思是計算的值不顯示在HTML模板中。 – toddkovalsky