regroup


Misol

Barcha avtomobillarni har bir brend uchun yangi sarlavha bilan ko‘rsatish:

{% regroup cars by brand as newlist %}

{% for x in newlist %}
  <h1>{{ x.grouper }}</h1>
  {% for y in x.list %}
    <p>{{ y.model }}: {{ y.year }}</p>
  {% endfor %}
{% endfor %}
Misolni ishga tushirish »

Ta’rif va qo‘llanilishi

regroup tegi belgilangan qiymat bo‘yicha guruhlangan yangi obyektni qaytaradi.

Natija har bir guruh uchun bittadan GroupedResult obyektiga bo‘linadi, shu sababli yuqoridagi misoldagi newlist obyekti quyidagi ko‘rinishga ega bo‘ladi:

Misol

{% regroup cars by brand as newlist %} natijasi:

[
  GroupedResult(
    grouper='Ford',
    list=[
      {
        'brand': 'Ford',
        'model': 'Mustang',
        'year': '1964'
      },
      {
        'brand': 'Ford',
        'model': 'Bronco',
        'year': '1970'
      },
      {
        'brand': 'Ford',
        'model': 'Sierra',
        'year': '1981'
      }
    ]
  ),
  GroupedResult(
    grouper='Volvo',
    list=[
      {
        'brand': 'Volvo',
        'model': 'XC90',
        'year': '2016'
      },
      {
        'brand': 'Volvo',
        'model': 'P1800',
        'year': '1964'
      }
    ]
  )
]

Eslatma: Qayta guruhlashdan oldin obyekt to‘g‘ri saralanganiga ishonch hosil qiling, aks holda bir xil grouper nomiga ega guruhlar hosil bo‘ladi.



Sintaksis

{% regroup object by object.property as newname %}

Parametrlar

Qiymat Tavsif
object Majburiy. Qayta guruhlamoqchi bo‘lgan ro‘yxat yoki obyekt
object.property Majburiy. Guruhlash uchun asos qilib olinadigan xususiyat nomi
newname Majburiy. Qaytariladigan obyekt uchun yangi nom

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!