2
下面是代碼從一個Django模板大塊:Django模板{%if%}:需要平等嗎?
{% for customer in customers %}
{% for div in divs|lookup:customer %}
<p>:{{ div.custdiv_id }}: vs. :{{ currentDiv }}: ==>
{% if div.custdiv_id == currentDiv %}
YES!
{% else %}
NOPE.
{% endif %}
</p>
{% endfor %}
{% endfor %}
下面是一些來自呈現模板輸出:
:1: vs. :1: ==> NOPE.
:7: vs. :1: ==> NOPE.
:5: vs. :1: ==> NOPE.
:9: vs. :1: ==> NOPE.
爲什麼不:1:與:1:印刷「是」?冒號在那裏檢查它是否不是一些間距問題,它似乎不是; div.custdiv_id和currentDiv來自它們各自模型的相同類型 - bigint(20)。我無法弄清楚問題在這裏。
同類型* *。整數'1'和字符串''1''在模板中看起來相同,但不要相等。 –
您可以嘗試添加'| add:「0」'將值強制爲整數。 –
Martijn,即使它們都被拉下了一個模型對象,並且相關字段被定義爲相同類型,但我測試了您的理論,並且您是對的,其中一個是Unicode,另一個是長整型。這意味着還有一個更加神祕的錯誤,但至少你解決了我眼前的問題。謝謝! – shanusmagnus