【发布时间】:2011-10-04 04:04:55
【问题描述】:
我有这些模型。
class Storypak(models.Model):
headline = models.CharField('Headline', max_length=200)
pub_date = models.DateField(blank=True)
class Story(models.Model):
storypak = models.OneToOneField('Storypak', blank=True, null=True)
copy = models.TextField(blank=True)
还有这个观点。
def pak_detail(request, pak_id, year, month, day):
pak = Storypak.objects.get(pk=pak_id)
t = loader.get_template('storypak_detail.html')
c = Context ({
'pak' : pak,
})
return HttpResponse(t.render(c))
当我尝试在模板中使用 if 语句时,会引发 DoesNotExist 错误。我可以找到的文档表明应该消除这些错误。 if pak.story 不应该解决 False 并且不抛出错误吗?我错过了什么?我认为这可能与 OneToOne 关系有关,但我在专门处理此问题的文档中找不到任何内容。
这是我记得的相关模板代码。我在这台电脑上没有文件。如果它不正确,我稍后会修复它,如果有帮助,我可能会发布调试信息。
{% if pak.story %}
<p>{{ pak.story.copy }}</p>
{% endif %}
【问题讨论】:
-
请至少显示模板导致错误的部分
-
使用模板 sn-p 更新
标签: python django django-models django-templates django-views