У меня есть довольно пустой вопрос относительно итерации, что я не могу показаться правильным.Django query/Iteration issue
У меня есть таблица, в которой хранится запись для каждого ежемесячного теста, который пользователь завершает, если они пропускают месяц, а в таблице нет записи.
Я хочу вытащить историю пользователей из таблицы, а затем для каждого из 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
Так что мой идеальный результат был бы список 12 записей, либо Y или N т.е. результаты = [N, N, Y, N, N, Y, Y , Y, N, N, N, Y]
Вышеприведенный запрос возвращает 2 записи для пользователя, который является правильным, но на моей итерации я получаю 24 записи, очевидно, из-за внешних и внутренних циклов, но я не уверенный в «питоническом» способе, я должен делать это без тонны вложенных циклов.
Да, это сработало как шарм! Большое спасибо за помощь, определенно фрагмент, который я сэкономлю. Еще раз спасибо! – xXPhenom22Xx