反復に関して、私は正しくないように見えるかなり初歩的な質問があります。
ユーザーが完了する月ごとのテストのレコードを格納するテーブルがあります。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 のエントリを取得し続けていますが、ネストされたループのトン。