Представление Django 3.2 не работает при фильтрации по булеву полю

В настоящее время я обновляю проект Django с 2.2 до 3.2, но получаю ошибку от SQL Server при попытке загрузить представление:

ProgrammingError at /my/django/url ('42000', "[42000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Выражение небулевого типа задано в контексте, где ожидается условие, около ')'. (4145) (SQLExecDirectW)")

У меня есть набор запросов, который фильтруется по булевому полю ('islead'), набор содержит .filter(islead=True), однако когда я загружаю представление, я вижу на панели отладки Django, что SQL запрос не включает "WHERE islead = TRUE", он содержит только "WHERE islead" без условия.

Это прекрасно работает в Django 2.2. Вот выдержка из моего кода:

models.py:
class LecturerCourseYear(models.Model):
    ay = models.IntegerField(db_column='AY', primary_key=True) 
    code = models.CharField(db_column='Code', max_length=12) 
    lecturer = models.ForeignKey('Lecturers', models.DO_NOTHING, db_column='lecturer', max_length=12)
    islead = models.BooleanField(db_column='IsLead')

views.py:
def edit_course(request, code, ay):
    primary_lecturer_response = LecturerCourseYear.objects.filter(ay=ay, code=code, islead=True).order_by('position')
    initialData = {'primary_lecturer': ','.join([lecturer.lecturer.id for lecturer in primary_lecturer_response]),  
    form = editCourseForm(initial=initialData) 
    return render(request, 'courses/edit-course.html', {'form': form})

Исправлено путем загрузки последней версии кода django-mssql-backend

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