我想知道从今天开始的日期(存储在.db中)的周数。 我尝试使用网络上的许多答案,但似乎无法正确生成它。 我尝试填充时遇到的最常见错误是
unsupported operand type(s) for -: 'QuerySet' and 'datetime.date'
models.py中的类
class ADown(models.Model):
Aname = models.CharField(max_length=200)
dateStart = models.DateTimeField('date start')
def __unicode__(self):
return self.Aname
在views.py中 - 我觉得这是因为我没有真正正确引用.all()
中的'dateStart'from django.utils import timezone
from ADown.models import Adown
import datetime
def index(request):
d1 = ADown.objects.all()
totalweeks = (d1 - datetime.date.today()).TotalDays / 7
print totalweeks
latest_poll_list = ADown.objects.order_by('-dateStart')[:5]
template = loader.get_template('ADown/index.html')
context = RequestContext(request, {
'latest_poll_list': latest_poll_list,
'totalweek': totalweeks,
'todays': datetime.now(),
})
return HttpResponse(template.render(context))
我如何在.html中调用它
</thead>
<tbody>
{% for ADown in latest_poll_list %}
<tr>
<td><a>{{ ADown.AName }}</a></td>
<td><a>{{ totalweek }}</a></td>
<td><a>{{ ADown.dateStart }}</a></td>
</tr>
{% empty %}
<li><a>Something wrong!</a></li>
{% endfor %}
</tbody>
</table>
</div>
{% if latest_poll_list %}
答案 0 :(得分:0)
您正在获取数据库中的所有已存在对象(查询集对象)并减去当前月份的周数。您必须在d1变量中引用dateStart才能执行此操作。
在这种情况下queryset ADown.objects.all()不是一个有效的日期类型,您可以使用日期时间对象 datetime.date.today()进行操作。