2016-05-31 21 views
-2

私のテンプレートにはfile文の型をチェックするためのif文がありますが、file_typeフィールドは外部キーオブジェクトです。 if文で使用するfile_type.typeフィールドを取得するにはどうすればよいですか?Django - djangoテンプレートの外部キーフィールド名を取得するifステートメント

テンプレート:

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

モデル:(SiteFileTypeオブジェクトです)あなたはちょうどあなたが既に持っている変数にtypeを追加する必要があり

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) 

答えて

2

だけもう一度、点に従ってください。

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

{% for file in Site.sitefiles_set.all %} 
    {% if file.file_type.type != 'Site Plan' %} 
    ... 
    {% endif %} 
{% endfor %} 
関連する問題