0
votes

Liste de sortie par clé dans le modèle Django

Je retourne une liste à partir de la vue et je souhaite émettre la valeur spécifique par touche dans le modèle.

liste retournée (liste _) xxx

dans le modèle :

{{list_.2.category 3}}

retourne 4.

Puis-je simplifier le modèle et Sortie juste par la clé?

Par exemple:

{{list_key ['catégorie 3']}}

Mon point de vue: xxx


0 commentaires

3 Réponses :


2
votes

Convertir la liste code> de dict code> à un dict code>

ex: strong> p>

from collections import defaultdict

def MapView(request):
    applications = Application.objects.values(
        'name', 'id', 'icon_name').filter(organization_id=1).order_by('name')
    devices = Device.objects.all()
    count_list = defaultdict(int)

    for a in applications:
        count_list[a['name']]+= devices.filter(id=a['id']).count()

    context = {
        'test': count_list,
    }

    return render(request, 'applications/map.html', context)


2 commentaires

J'ai ajouté ma vue, je pense que je peux le changer au dictionnaire. Je veux juste ajouter des articles à cela. C'est pourquoi j'ai utilisé une liste


Parfait. Vous avez répondu à ma question. Une petite note. J'ai besoin de concessurer une liste avec un autre champ de la boucle. par exemple. test.a.name .Name est la valeur d'itération de la boucle. pour A dans les applications



0
votes

Vous pouvez retourner un dictionnaire de votre vue et accéder à la valeur de la clé plus pratique.

Pour par exemple. xxx

et vous pouvez y accéder dans votre modèle comme celui-ci - xxx

ou xxx


0 commentaires

0
votes

Vous ne pouvez pas utiliser de braguts carrés dans un modèle, mais vous pouvez créer personnalisé SIMPLE TAG :

{% access_lst list 2 "category 3" %}


0 commentaires