开发者

Django dictionary in templates: Grab key from another objects attribute

开发者 https://www.devze.com 2023-01-03 09:46 出处:网络
I have a dictionary called number_devices I\'m passing to a template, 开发者_StackOverflow中文版the dictionary keys are the ids of a list of objects I\'m also passing to the template (called implement

I have a dictionary called number_devices I'm passing to a template, 开发者_StackOverflow中文版the dictionary keys are the ids of a list of objects I'm also passing to the template (called implementations). I'm iterating over the list of objects and then trying to use the object.id to get a value out of the dict like so:

    {% for implementation in implementations %}
        {{ number_devices.implementation.id }}
    {% endfor %}

Unfortunately number_devices.implementation is evaluated first, then the result.id is evaluated obviously returning and displaying nothing. I can't use parentheses like:

{{ number_devices.(implementation.id) }}

because I get a parse error. How do I get around this annoyance in Django templates?

Thanks for any help!


A workaround could be using the keys from number_devices and check in the for loop if it is equal to the key provided by number_devices.

{% for key in number_devices.keys %}
    {% for implementation in implementations %}
        {% ifequal key implementation.id %} you got it {% endifequal %}
    {% endfor %}
{% endfor %}

Seems a bit ugly, but should work.

0

精彩评论

暂无评论...
验证码 换一张
取 消