簡體   English   中英

Django - 在 Django 模板中為 if 語句獲取外鍵字段名稱

[英]Django - get foreign key field name in django template for if statement

在我的模板中,我有一個 if 語句來檢查文件的類型,但是 file_type 字段是一個外鍵對象。 我如何才能在 if 語句中使用 file_type.type 字段?

模板:

{% for file in Site.sitefiles_set.all %}
    {% if file.file_type != 'Site Plan' %}

模型:

class SiteFileType(models.Model):
    type = models.CharField(max_length=200)

    class Meta:
            verbose_name = "File Type"
            verbose_name_plural = "File Type"    

    def __unicode__(self):
        return self.type

class SiteFiles(models.Model): 
    showroom_config_data = models.ForeignKey(ShowroomConfigData,verbose_name="Showroom")
    major_site_info = models.ForeignKey(MajorSiteInfoData,verbose_name="Major Site")  
    site_image = models.ImageField(blank=True,upload_to=site_files_path)
    site_file = models.FileField(blank=True,upload_to=site_files_path)     
    file_name = models.CharField(max_length=200,verbose_name="File Name (Optional)",blank=True)
    file_type = models.ForeignKey(SiteFileType)

    class Meta:
            verbose_name = "Site Files"
            verbose_name_plural = "Site Files"

    def __unicode__(self):
        return '%s | %s ' % (self.showroom_config_data.location, self.major_site_info.location)

您只需要將type附加到您已經擁有的變量(它是一個SiteFileType對象):

{% for file in Site.sitefiles_set.all %}
    {% if file.file_type.type != 'Site Plan' %}
    ...
    {% endif %}
{% endfor %}

只需按照點再上一層即可。

 {% if file.file_type.type != 'Site Plan' %}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM