Я пытаюсь перестроить сайт, который изначально был написан на php, в django. Я новичок в Джанго. Я застрял на некоторых довольно базовых функциях, но нигде не могу найти ответ, поэтому я спрашиваю здесь.
Я создаю фэнтезийный сайт по бейсболу. У меня есть следующие 2 модели:
class IbcDivisions(models.Model):
division = models.AutoField(primary_key=True)
div_abbr = models.CharField(unique=True, max_length=255)
div_name = models.CharField(max_length=255)
league = models.ForeignKey('IbcLeagues', models.DO_NOTHING,
db_column='league')
class Meta:
managed = False
db_table = 'ibc_divisions'
class IbcLeagues(models.Model):
league = models.AutoField(primary_key=True)
league_abbr = models.CharField(max_length=255)
league_name = models.CharField(max_length=255)
class Meta:
managed = False
db_table = 'ibc_leagues'
Эти таблицы предоставляют следующие данные (что вы ожидаете, если вы будете следовать бейсболу):
IbcLeagues:
league league_abbr league_name
1 AL American League
2 NL National League
IbcDivisions:
division div_abbr div_name league
1 ALE AL East 1
2 ALC AL Central 1
3 ALW AL West 1
4 NLE NL East 2
5 NLC NL Central 2
6 NLW NL West 2
У меня есть этот код в views.py:
def homepage(request):
ibc_leagues = IbcLeagues.objects.all()
context = {
'ibc_leagues' : ibc_leagues,
}
return render(request, 'ibc_leagues/index.html', context)
У меня есть подача страницы макета index.html. Index.html имеет этот код:
{% extends 'ibc_leagues/layout.html' %}
{% block content %}
<h2>Rosters</h2>
{% for ibcl in ibc_leagues %}
<h3>{{ibcl.league_name}}</h3>
{% endfor %}
{% endblock %}
Все это работает, отлично. Это дает:
Реестры
Американская лига
Национальная лига
И, наконец, мой вопрос: как мне пройти и отобразить каждое из подразделений (AL East, Central, West) под каждой лигой?