Я хочу получить, сколько недель прошло с даты (которая хранится в .db) от сегодняшней даты. Я пытался работать со многими ответами из Интернета, но, похоже, не мог заставить его правильно воспроизводить. Наиболее распространенная ошибка я получаю при попытке вещи из внеDjango получить недели от модели до сегодняшнего дня
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 - Я чувствую, что это потому, что я на самом деле не правильно ссылки «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 %}
Как правильно указать датуStart ADown.object.get ('dateStart')? – user1043816
Вы можете сделать это: = ADown.objects.all(), затем перебрать список, используя for. 'для i в a:' –
@ user1043816 Вы можете сделать это: a. ADown.objects.all(), затем перебрать по списку, используя for. 'for i in a: i.dateStart', тогда вы можете сравнить каждое поле Date DateStown объекта ADown с сегодняшней датой, чтобы получить количество недель. Тем не менее, вы не должны использовать datetime, вместо timezone.now() для сравнения –