想象一下,你有一个如下所示的模型。在每个音乐家的页面上,您想要显示具有相同座席的其他音乐家。
class Musician(models.Model):
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
agent = models.ForeignKey(Agent)
此外,您希望运行一种方法,以便在音乐家的页面上显示。该方法计算出当前实例与共享同一代理的所有相关实例之间的相似性。
def similarity(self, other_instance)
...
return similarity
因此,模板需要以下内容:
是否有Django批准的方法来解决这个问题?对这样的问题使用基于类的视图是否有意义?
答案 0 :(得分:0)
要“显示具有相同座席的其他音乐家。”,请使用此查询musician.agent.musician_set
def detail(request, musician_id):
musician = get_object_or_404(Musician, pk=musician_id)
return render_to_response('musician/detail.html', {'musician': musician})
在你的模板中:
<h1>{{ musician.first_name }} {{ musician.last_name }}</h1>
相关:
{% for related_musician in musician.agent.musician_set %}
#show related musician details
{{ related_musician.first_name }}
{% endfor %}