比较Django中的两个相同元素似乎不起作用

时间:2013-03-04 16:38:44

标签: python django

我正在尝试在我正在编写的Django模板中运行一些if语句。这是代码:

{% 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 个答案:

答案 0 :(得分: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)