Вложенный строковый эквивалент цикла for в отдельных таблицах модели Django
У меня есть вложенный цикл for, чтобы увидеть, где поле из таблицы Clock равно полю из таблицы Employee, и когда это происходит, выполнить некоторое условие.
Это кажется чрезвычайно интуитивным, однако я, похоже, допускаю фундаментальную ошибку. Мой оператор if не выполняется. Я распечатал значения каждой таблицы и подтвердил, что некоторые из них равны. Я также подтвердил, что оба типа полей являются сильными. Пожалуйста, помогите.
''' queryClock = Clock.objects.all() queryEmployee = Employees.objects.all()
> if queryClock.count() > 0 :
for x in queryClock:
for y in queryEmployee:
# print(type(x.EmployeeNoC),type(y.EmployeeNo))
# print(x.EmployeeNoC, y.EmployeeNo)
if x.EmployeeNoC == y.EmployeeNo:
print("yay")
x.hourlyRate = y.rate
x.save(update_fields=['hourlyRate'])
break
'''
Хорошо, в приведенном выше коде нет ничего неправильного. Мои извинения.
Не работало из-за импорта csv-файла со строкой, в которой были пробелы. Таким образом, при сравнении двух значений: 'a '= 'a'.
Решение x.x.EmployeeNoC.split()
Всегда проверяйте интервал между файлами .csv!!!