Вложенный строковый эквивалент цикла 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!!!

Вернуться на верх