나는 다소 복잡해 보이지 않는 것으로 막혔습니다. 여기 내 모델 :Django에서 일대 다 많은 관계를 모델링하고 표현하는 우아한 방법이 있습니까?
class Team(models.Model):
name = models.CharField('team name', max_length=200, unique=True)
class QualityStream(models.Model):
name = models.CharField('quality stream name', max_length=200, unique=True)
team = models.ManyToManyField(Team)
class Milestone(models.Model):
name = models.CharField('milestone name', max_length=200)
quality_stream = models.ForeignKey(QualityStream)
team = models.ForeignKey(Team)
당신이 볼 수 있듯이, 팀은 몇 가지 미리 정의 된 품질 스트림이 있고, 여러 가지 이정표 수 실제로는 품질 스트림에 속한다는 것을 얻을 수 있습니다. 여기
내보기 :
아이디어는 팀을 표시하는 것입니다<p>{{team.name}}</p>
{% for stream in team.qualitystream_set.all %}
<p>{{stream.name}}</p>
{% for milestone in team.milestone_set.all %}
{% if milestone.quality_stream.id == stream.id %}
<p>{{milestone.name}}</p>
{% endif %}
{% endfor %}
{% endfor %}
, 품질 스트림에 의해 그룹화 된 팀과 각 이정표에 관련된 품질 스트림 : 코드는 잘 작동
Team
Quality Stream 1
Milestone 1 for Quality Stream 1
Milestone 2 for Quality Stream 1
Quality Stream 2
Milestone 1 for Quality Stream 2
Milestone 2 for Quality Stream 2
, 그러나 각 품질 흐름에 대한 모든 이정표를 반복함으로써 너무 편안하지는 않습니다. 나는 이것을 달성하는 더 좋은 방법이 있어야한다고 생각합니다. 어떤 아이디어?
좋은 대답은 올바른 문서와 연결되어 있지만 템플릿으로 전달되는보기 내에서 적절한 쿼리 세트를 만드는 방법을 보여주는 코드 스 니펫을 포함해야합니다. –
감사합니다. Josh, 저를 이길 것 같습니다 +1 – Fiver
haha sorry mate, 코드를 적어서 답을 수정하려고했지만 주제가 더 많았습니다. –