내가 내 템플릿에 이런 식으로 뭔가를 보여줄 필요가 :Django에서 출력을 날짜순으로 그룹화하려면 어떻게해야합니까?
6월 11일
- 데이터 1
- 데이터 2
6월 10일
- 데이터 3
- 데이터 4
내보기 :
def Inicio(request):
g = Gastos.objects.all()
return render(request, 'principal/gastos.html', {'g': g})
내 모델 :
class Gastos(models.Model):
...
fecha = models.DateTimeField(auto_now_add=True, auto_now=False)
...
내가, 모델의 필드 "fecha"의 일에 의해 그룹에 필요 나는 이것을 어떻게하는지 모른다.
편집 나는 collections.defaultdict을 사용 :
내보기 :
def Inicio(request):
g = Gastos.objects.all()
lista = defaultdict(list)
for gasto in g:
lista['%s %s' %(gasto.fecha.day, gasto.fecha.strftime("%B"))].append(gasto)
return render(request, 'principal/gastos.html', {'lista': lista})
내가 파이썬 쉘에서 "중고 장비 구매"를 인쇄하는 경우 :
defaultdict(<type 'list'>, {"12 June": [<Gastos: Gasolina>, <Gastos: mandado>], "13 June": [<Gastos: Ropa>]})
내가 원하는 것을 얻었다 ,하지만 문제는 템플릿에, 나는 각 개체를 반복 할 수 없습니다.
는내 템플릿 : HTML에서
{% for dia in lista %}
<h3>{{dia}}</h3>
{% for g in dia.items %}
<li>{{g.producto}}</li>
{% endfor %}
{% endfor %}
결과 (데이터 없음) :
6월 12일
6월 13일
pls는 데이터를 날짜별로 그룹화 할 수있는'collections.defaultdict'를 살펴 봅니다. –
@AvinashRaj 당신이 말한대로 collections.defaultdict를 사용했습니다. 편집 된 질문을 확인해 주시겠습니까? – hectorlr22
@AvinashRaj "12 월 6 일"만 인쇄하지만 안에있는 객체를 반복 할 수는 없습니다 – hectorlr22