简体   繁体   English

Django从建模日期到今天有数周的时间

[英]Django get weeks from model date to today

I want to get how many weeks it is from a date (that is stored in the .db) from todays date. 我想从今天起算一个日期(存储在.db中)的星期数。 I tried to work with many answers from the web but can't seem to get it to produce correctly. 我尝试使用网络上的许多答案,但似乎无法正确生成它。 Most common error I get when trying stuff out is 我尝试尝试时遇到的最常见错误是

unsupported operand type(s) for -: 'QuerySet' and 'datetime.date'

The class in models.py models.py中的类

class ADown(models.Model):
    Aname = models.CharField(max_length=200)
    dateStart = models.DateTimeField('date start')
def __unicode__(self):
    return self.Aname

Within views.py - I feel like it's because I'm not really correctly referencing 'dateStart' from the .all() 在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))

And how I call it in .html 以及我在.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 %}

You're taking all ADown objects (queryset object) in your database and substracting the number of weeks of the current month. 您要获取数据库中的所有ADown对象(queryset对象),然后减去当前月份的周数。 You must to refer to dateStart in d1 variable to do this. 您必须在d1变量中引用dateStart来执行此操作。

queryset in this case ADown.objects.all() isn't a valid datetype wich you can operate with a datetime object datetime.date.today() . 在这种情况下,queryset ADown.objects.all()不是有效的日期类型,因为您可以使用datetime对象datetime.date.today()进行操作

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM