比较Django模板中的对象字段

时间:2015-03-23 16:06:18

标签: python django django-templates django-views

我有一个模特

class Applicant(models.Model):
    job = models.ForeignKey(Job)
    location = models.ForeignKey(Location)
    type = models.ForeignKey(Type)

type指的是另一张表:

class Type(models.Model):
    """ Model for Applicant Type

    Attributes:
        type: string
    """

    type = models.CharField(max_length=45)

    def __str__(self):
        """ Override for __str__ method
        """
        return self.type

    class Meta:
        managed = False
        db_table = 'jobs_type'

我只需编写以下内容即可访问模板中的对象类型:

<h3>{{applicant.type}}</h3>

applicant是申请人对象。但是,当我尝试将类型与String进行比较时,比较失败:

{% if applicant.type == "Driver" %}
    <h3>{{applicant.type}}</h3>
{% else %}
    <h3>{{applicant.type}} does not equal "Driver"</h3>
{% endif %}

印刷:

Driver does not equal "Driver"

有没有更好的方法来比较Django模板中的对象字段?

数据库的jobs_type表中的“类型”字段是varChar。

1 个答案:

答案 0 :(得分:3)

据推测,“Driver”位于Type模型实例的type字段中。所以你可以与那个领域进行比较。

{% if applicant.type.type == "Driver" %}