我有我的模特:
class Volume(models.Model):
volnumber = models.IntegerField('Volume Number', primary_key=True)
year = models.TextField()
#...#
class Article(models.Model):
volnumber = models.ForeignKey(Volume)
title = models.TextField(blank=True)
slug = models.SlugField(max_length=100, db_index=True)
#...#
我的观点:
# Article detail
def article_detail(request, slug):
return render_to_response('article_detail.html', {
'article': get_object_or_404(Article, slug=slug),
})
我的模板:
{{ article.volume.year }}. <strong class="title">{{ article.title }}</strong>.Journal Vol.{{ article.volnumber }}
问题是我今年没有得到任何输出(标题和数量都很好)。语法似乎正确。我做错了什么?
答案 0 :(得分:0)
尝试:
{{ article.volnumber.year }}
由于您只是following the relationship forward,article.volnumber
应该为您提供对相关Volume对象的引用。
您的模板中没有显示任何内容,因为article
没有volume
属性。模板引擎无声地失败,没有任何打印。
更好的是,为了使参考更直观,您可能需要考虑将Article
模型中的属性从volnumber
重命名为volume
。
class Article(models.Model):
volume = models.ForeignKey(Volume)
# ...
在我看来,使用article.volume.year
和article.volume.volnumber
比article.volnumber.volnumber
更具可读性。