1

反復に関して、私は正しくないように見えるかなり初歩的な質問があります。

ユーザーが完了する月ごとのテストのレコードを格納するテーブルがあります。1 か月も逃した場合、テーブルにはレコードがありません。

テーブルからユーザーの履歴を取得し、12 か月ごとに、完了したステータスとして Y または N を設定します。

これが私のコードです:

    def getSafetyHistory(self, id):
    results = []
    safety_courses = UserMonthlySafetyCurriculums.objects.filter(users_id=id).order_by('month_assigned')
    for i in range(1, 13):
        for s in safety_courses:
            if s.month_assigned == i:
                results.append('Y')
            else:
                results.append('N')

    return results

したがって、私の理想的な結果は、Y または N のいずれかの 12 エントリのリストになります。

上記のクエリは正しいユーザーの 2 つのレコードを返しますが、私の繰り返しでは、明らかに外側と内側のループのために 24 のエントリを取得し続けていますが、ネストされたループのトン。

4

1 に答える 1