Search code examples
pythonmysqldjangosalesforcesimple-salesforce

SalesforceMalformedRequest Error while querying salesforce through Django


I am using simple-salesforce & django.

I am performing simple query on Account object of Salesforce.

sf1 = Salesforce(connection parameters)

sf8 = sf1.query("SELECT Id FROM Account WHERE Name = testname")

Here testname is variable which holds firstname + lastname combination.

I am getting the below error.

Exception Type: SalesforceMalformedRequest

Exception Value:Malformed request https://cs90.salesforce.com/services/data/v38.0/query/?q=SELECT+Id+FROM+Account+WHERE+Name+%3D+testname. Response content: [{'message': '\nSELECT Id FROM Account WHERE Name = testname\n                                   ^\nERROR at Row:1:Column:36\nBind variables only allowed in Apex code', 'errorCode': 'MALFORMED_QUERY'}] 

Any workaround possible?


Solution

  • Use format to generate query string

    sf1.query("SELECT Id FROM Account WHERE Name ='{0}'".format(testname))
    

    Make sure testname variable type should be string