Здравствуйте, подскажите пожалуйста как можно изменить Queryset?
Я выбираю записи с допустим сегодня по сегодя+4 недели,
в выбранном промежутке могут отсутствовать какие то дни, мне нужно заполнить их экземплярами этой модели с заполненым полем дата.
Я сделал через другой список это нормально?
Еще я заметил что в этой функции есть косяк, что то работает не так как задумывалось =) кто нибудь на свежий глаз видит?
def times(request):
current_date = datetime.datetime.now()
ob = []
shelude = Shelude.objects.select_related().exclude(day__lt=current_date).filter(
day__lte=current_date + datetime.timedelta(weeks=4)).order_by('day')
st = shelude[0].day.isoweekday()
for x in range(1, st):
tmp = Shelude(day=shelude[0].day - datetime.timedelta(days=st - x))
ob.append(tmp)
previous = False
for current in shelude:
if previous:
delta = current.day - previous.day
if delta.days != 1:
for z in range(1, delta.days):
ob.append(Shelude(day=previous.day + datetime.timedelta(days=z)))
ob.append(current)
return render_to_response("frontend/granat/times.html", {'shelude': shelude, 'prev': ob})
Вот тут результат работы функции http://devel2.0xdef.ru/times/
в базе у меня есть записи за 6,8,9,12
12 поставилось на пятницу потому что пятница и суббота не заполнились
вот этим куском
if previous:
delta = current.day - previous.day
if delta.days != 1:
for z in range(1, delta.days):
ob.append(Shelude(day=previous.day + datetime.timedelta(days=z)))
Updated 8 April 2015, 15:08 by deface.