我需要从另一个详细信息视图进入详细信息视图。.但是我无法清晰地传递查询集...
在型号中:
class Match(models.Model):
mega_league = models.ManyToManyField('MegaLeague', blank=True)
class MegaPricePoolBreak(models.Model):
pass
class MegaLeague(models.Model):
price_pool_break = models.ManyToManyField(MegaPricePoolBreak, blank=True)
在视图中:
def league(request):
match = Match.objects.all()
context = {
'match': match,
}
return render(request, 'main/league.html', context=context)
def league_detail(request, pk):
match = get_object_or_404(Match, pk=pk)
context = {
'match': match,
}
return render(request, 'main/league_detail.html', context=context)
def league_detail_more(request, pk):
match = get_object_or_404(Match, pk=pk)
context = {
'match': match,
'title': 'select matches',
}
return render(request, 'main/league_detail_more.html', context=context)
在league
模板中,我传递了{% url 'league_detail' match.pk %}
以将查询集从Match
传递到league_detail
模板中,而在league_detail
模板中,我传递了{% url 'league_detail_more' match.pk %}
< strong> ---这是主要问题。.它传递了Match
的所有pk,但我需要传递match.pk和match.mega_league.pk 才能从Match
获取查询集放入league_detail_more
模板中。.
在所有模板中,我使用for
循环..它正在工作...但是获取特定的pk查询不起作用..
它适用于league_detail
模板,但不适用于league_detail_more
模板。.league_detail_more
中的league_detail
模板中的pk传递无效。
如何使用match = get_object_or_404(Match, pk=pk)
清楚地获取两个模板的所有查询集?
答案 0 :(得分:0)
我仍然不太了解您在哪里遇到问题。
如果您只想将两个ID传递给URL,那很简单:
path('league_detail_more/<int:match_id>/<int:league_id>/', league_detail_more, name='league_detail_more')
并在视图中:
def league_detail_more(request, match_id, league_id):
match = get_object_or_404(Match, pk=match_id)
league = get_object_or_404(MegaLeague, pk=league_id)