On Thursday, 18 July 2019 15:56:59 UTC+1, Yves de Champlain wrote:
>
> Indeed, it feels like I'm taking things the wrong way, maybe I coded too 
> much PHP to be redeemable ...
>
> My main problem might be coming from the fact that I need to parse the 
> data to generate my view and can't simply pull the data from the DB.
>
> Here are the models, template and view attached, as well as a screenshot 
> of the result. 
>
> Please note that as far as the logic of the app is concerned, "Competency" 
> means the same as "Skill". I need to fix that dual terminology in the code. 
>
> Thanks a lot for your answer.
>
> yves
>

 The key is to think about the structure you need for output when building 
up your data in the view. In this case, what you want is a simple nested 
list which includes *all* the data for each row - including the skill 
object. (Also, there's no need to pad your lists with "X" and spaces; use 
bools.) In other words, the list looks like:

[
  [skill1, [True, False, False...],
  [skill2, [True, False, True...].
  ...
]

So, in the view:

for s in skills:
    v_skill = []
    valeur = False
    for a in achievements:
        ...
        if...
            valeur = True
        v_skill.append(valeur)
    v_table.append(skill, v_skill)

Now in the template you can simply do:

            {% for skill, achievements in skills %}
                  <tr
                  {% if skill.is_key %}
                    style="font-weight:bold;"
                  {% endif %}
                  >
                      <td style="text-align:right">{{ skill.code }}</td>
                      <td>{{ skill.name }}</td>

                      {% for achievement in achievements %}
                        <td style="text-align:center">
                          {{ achievement|yesno:"X, " }}
                        </td>
                      {% endfor %}
                  </tr>
                {% endfor %}

-- 
DR.

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/add48121-770b-45e0-8550-a2e5ccbaecf1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to