title: Query parameters in PUT call of APIClient
body: <p>I have an API endpoint to which I want to make a PUT call which needs both a body and query parameters. I use Django's test client to call my endpoint in a test case (<a href="https://docs.djangoproject.com/en/dev/topics/testing/tools/" rel="noreferrer">docs</a>). </p>
  
  <p>I read in the documentation that for a GET call, query parameters are introduced using the argument <code>data</code>. I also read that for a PUT call, the argument <code>data</code> represents the body. I miss documentation how to add query parameters in a PUT call.</p>
  
  <p>In particular, this test case fails:</p>
  
  <pre><code>data = ['image_1', 'image_2']
  url = reverse('images')
  response = self.client.put(url, 
                             data=data, 
                             content_type='application/json', 
                             params={'width': 100, 'height': 200})
  </code></pre>
  
  <p>And this test case passes:</p>
  
  <pre><code>data = ['image_1', 'image_2']
  url = reverse('images') + '?width=100&amp;height=200'
  response = self.client.put(url, 
                             data=data, 
                             content_type='application/json')
  </code></pre>
  
  <p>In other words: is this manually URL building really necessary?</p>