好吧,伙计,我做了一个算法,这个算法为你带来了从一周开始(星期一)到今天的所有记录
例如,如果您的应用中有这样的模型:
from django.db import models
class x(models.Model):
date = models.DateField()
from datetime import datetime
from myapp.models import x
start_date = datetime.date(datetime.now())
week = start_date.isocalendar()[1]
day_week =start_date.isoweekday()
days_quited = 0
less_days = day_week
while less_days != 1:
days_quited += 1
less_days -= 1
week_begin = datetime.date(datetime(start_date.year,start_date.month,start_date.day-days_quited))
records = x.objects.filter(date__range=(week_begin, datetime.date(datetime.now())))
如果您在管理员中添加一些记录,范围在 6 月 17 日(星期一)和 6 月 22 日(今天)之间,您将看到所有这些记录,如果您添加更多记录,例如明天的日期或下周一你将看不到这些记录。
如果您想要直到现在为止的其他一周的记录,您只需输入以下内容:
start_date = datetime.date(datetime(year, month, day))
records = x.objects.filter(date__range=(week_begin, datetime.date(datetime.now())))
希望这可以帮助!:D