Django - условие if всегда возвращает True

У меня есть условие, которое вызывает функцию обновления if is_approved= True

@api_view(['POST'])
@permission_classes([IsStaff])
def update_company_info(request):
    request_qs = CompanyUpdateRequests.objects.filter(id=request.data["request_id"],is_approved=None)
    serializer = CompanyUpdateRequestSerializer(request_qs[0], data=request.data, partial=True)
    approved = request.data['is_approved']
    if serializer.is_valid():
        if approved:
            print(request.data['is_approved'])
            update_info(request_qs[0].company, request_qs[0])
        serializer.save()

Независимо от значения boolean выполняется if approved:. Есть предложения?

Любая строка, которая не является: """", является True. Вам нужно изменить ее на тип Boolean, т.е. вот так:

approved = True if request.data['is_approved'] == "True" else False
Вернуться на верх