2013-03-04 67 views
2

我想在我正在写的Django模板中运行一些if语句。下面的代码:比较Django中的两个相同的元素似乎并不工作

{% for object in managers %} 
    {{ request.user.username }} 
    {{ object.manager }} 
    {% if request.user.username == object.manager %} 
     You are on the list! 
    {% endif %} 
{% endfor %} 

当我运行该代码同时登录的是谁objects.manager成员的用户,我看到以下内容:

用户名 名

但没有在if语句出现。如果两个值相同,为什么它不起作用?我知道这不是最优雅的方式,但目前我只能访问模板文件,而且我试图快速找到某些东西:)

谢谢!

+1

也许object.manager是一个ForeignKey(int)和request.user.username是一个STR。尝试{%if request.user == object.manager%} – catherine 2013-03-04 16:43:19

+0

工作正常!非常感谢您的帮助! – Febrium 2013-03-04 16:49:17

+2

我可以发布我的答案吗? – catherine 2013-03-04 16:49:47

回答

2

你的object.manager是一个foreignkey(int),你的request.user.username是一个(str)。为了让它同时使用两个外键。

{% if request.user == object.manager %} 

您也可以使用request.user.username。例如像:

{% if request.user.username == object.manager.username %} 

图样:

(int) == (int) 
('str') == ('str') 
(FK or PK) == (int) 
(FK or PK) == (FK or PK)