1. Есть база-модель в которой хранятся данные о продажах
class Data(models.Model):
upload_id=models.IntegerField()
disty=models.IntegerField()
partnumber=models.IntegerField()
dealer=models.IntegerField()
city=models.IntegerField()
price=models.FloatField()
quantity=models.IntegerField()
date=models.DateField()
Есть шаблон в который предаются необходимые данные для отображения.
Как это сделать:
а) использовать методы класса для рендеринга - но, не совсем разобрался как там и чего делается, плюс фильтры у меня разные, создавать новые классы или перегружать текущий новыми методами, имхо не совсем правильно, но вы меня поправте если не прав.
б) в лучших традициях питона используем классную штуку словарь:
times=[line['date'] for line in Data.objects.values('date').distinct()] #не очень красиво конечно, пожелания принимаются
sales={}
for line in times:
# тут добывание значений, как сделать select sum(price*quantity) from data where date=line; я не разобрался поэтому вложенный цикл итд
#result помещаем вычисленную сумму за месяц
sales[line]=result
return render_to_response('total_sales_common.html', {sales':sales})
</ul>
<ul>
{% for key,value in sales %}
<li>
{{key}}, {{value}}
</li>
{% endfor %}
</ul>
А хочется банально отсортировать или по дате или по сумме. На сколько я понял django не дает доступ к методам питоновского объекта.
Банальную конструкцию for key in sorted(data.keys()): print key, data в шаблоне не реализуешь.
3) учитывая пункт 2 делаем псевдо словарь в виде списка.
times=[line['date'] for line in Data.objects.values('date').distinct()] #не очень красиво конечно, пожелания принимаются
sales=[]
for line in times:
# тут добывание значений, как сделать select sum(price*quantity) from data where date=line; я не разобрался поэтому вложенный цикл итд
#result помещаем вычисленную сумму за месяц
sales.append([line,reuslt])
return render_to_response('total_sales_common.html', {sales':sales})
</ul>
<ul>
{% for line in sales %}
<li>
{{line.0}}, {{line.1}}
</li>
{% endfor %}
</ul>
Или я что не так понял относительно словарей в шаблонах?