1

我正在做我的第一个 Django 项目。我需要显示一个包含一对多数据库关系双方的复合页面。为了尽可能地成为 Django-y,我考虑了(基于类的)通用视图。由于没有一个内置的通用视图有任何相似之处,我使用SingleObjectMixinand组合了一个复合通用视图MultipleObjectMixin,这也意味着我必须扩展基View类。

回想起来,这似乎是一项(在我看来)应该是微不足道的事情,而且我认为我采取了错误的方式来解决这个问题。所以我转向 SO 社区寻求帮助:

  • 这个问题的正确解决方案是什么?
  • 你将如何解决这个问题?

谢谢!

4

1 回答 1

1

我会简单地使用DetailView(使用SingleObjectMixin),并通过模板中实例上的访问属性访问相关对象:

<h2>Main Object</h2>
<p>{{ object.some_field }}</p>
<h2>Related Object</h2>
{% with related=object.related_whatever %}
    <p>{{ related.some_field }}</p>
    <p>{{ related.other_fied }}</p>
{% endwith %}
于 2012-12-30T02:20:51.700 回答