title: Get all months and years in a range
body: <p>I am writing a django application where I have records stored on the basis of datetimefield.</p>
  <pre><code>        first_record = MyModel.objects.filter().order_by('-added').first()
          first_record = (first_record.added.month, first_record.added.year)
          last_record = MyModel.objects.filter().order_by('-added').first()
          last_record = (last_record.added.month, last_record.added.year)
  </code></pre>
  <p>Now I want to make a list of all months/year between the first record and last record. A rough idea is:</p>
  <pre><code>for i in range(first_record, last_record):
      # do something
  </code></pre>
  <p>Where the range function is supposed to give me a list to iterate over which looks like this:</p>
  <pre><code>[('01','2018'),('02','2018'),('03','2018'),....,('11','2020'),('12','2020')]
  </code></pre>
  <p>Any ideas how do I do that?</p>
  <p>Also is <code>(last_record.added.month, last_record.added.year)</code> the right way to get a tuple containing month and year. Note that I want months in the format <code>01</code> instead of <code>1</code> for first month for example.</p>