検索しても同様の質問が見つからなかったので、既出でしたら申し訳ありません。では、本題に入りましょう。@property 値 (そのうちの 3 つ) を持つモデルがあります。それらはすべて機能し、1 つが空になるだけで、問題が見つかりません。モデルの一部は次のとおりです。
@property
def case_number(self):
'''
An formatted number officially designating this case.
'''
s = u'%012d' % self.pk
return s[:3] + '-' + s[3:6] + '-' + s[6:9] + '-' + s[9:]
@property
def case_id(self):
'''
An formatted string, consisting of the prefix NCDAC- and the case
number, officially designating this case.
'''
return 'NCDAC-' + self.case_number
@property
def due_date(self):
margin = self.report_date + datetime.timedelta(days=30);
if timeuntil(margin) <= datetime.timedelta(days=1):
return 'today'
elif timeuntil(margin) < 0:
return 'overdue'
else:
return timeuntil(margin).split(', ')[0]
DB の結果を行で表示するテンプレート パーツは次のとおりです。
{% for case in sent_cases %}
<tr>
<td>
<a href="{% url "case-detail" case.pk %}">
{{ case.case_number }}
</a>
</td>
<td>{{ case.get_agency_display }}</td>
<td>{{ case.report_date }}</td>
<td>
{% if case.status == "D" %}
<i class="icon-minus-sign"></i> No
{% else %}
<i class="icon-ok-sign"></i> {{ case.ts_submitted|date:"d M Y" }}
{% endif %}
</td>
<td>{{ case.due_date }}</td>
</tr>
{% endfor %}
{{ case.due_date }} 以外はすべて機能しています。ただの空きブロックです。なぜこれが起こっているのですか?
ありがとう。
更新:わかりました、「何か」を返そうとしましたが、機能しています。以下のエラーがあります-何らかの理由で例外が発生しません。self.report_date
として定義されてreport_date = models.DateField(verbose_name='Report Date')
おり、report_date + 30daysまでの残り日数を取得しようとしています。