Django从模型日期到今天都有几个星期

时间:2013-12-23 03:23:50

标签: python django date model

我想知道从今天开始的日期(存储在.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 %}

1 个答案:

答案 0 :(得分:0)

您正在获取数据库中的所有已存在对象(查询集对象)并减去当前月份的周数。您必须在d1变量中引用dateStart才能执行此操作。

在这种情况下

queryset ADown.objects.all()不是一个有效的日期类型,您可以使用日期时间对象 datetime.date.today()进行操作。