title: Sqlalchemy use json_set to update specific JSON field
body: <p>I intend to use <code>func</code> function to update a specific JSON field in Sqlalchemy, but I get some problem, here is my code to update field:</p>
  
  <pre><code>self.db.query(TestModel).filter(TestModel.test_id == self._test_id).update(
      {field_name: func.json_set(
          field_name,
          "$." + key,
          formatted_val)}
      , synchronize_session='fetch'
  )
  self.db.commit()
  </code></pre>
  
  <p>I ran the code above and got the error:</p>
  
  <pre><code>sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) malformed JSON
  </code></pre>
  
  <p>So, I go to check the log, found Sqlalchemy form an SQL clause like that:</p>
  
  <pre><code>UPDATE test_model SET field_name=json_set('field_name', '$.keyname', 'value') WHERE test_model.test_id = 1;
  </code></pre>
  
  <p>the problem is Sqlalchemy should not use <code>'field_name'</code> to specific the field it should use <code>field_name</code> to specific the field, and I try to run corrected sql clause below in sql client:</p>
  
  <pre><code>UPDATE test_model SET field_name=json_set(field_name, '$.keyname', 'value') WHERE test_model.test_id = 1;
  </code></pre>
  
  <p>and it work find</p>
  
  <p>I just want to know how to make the Sqlalchemy form the correct field from <code>'field_name'</code> to <code>field_name</code>?</p>