title: Factory Boy random choice for a field with field option "choices"
body: <p>When a field in a Django model has the option choices, see <a href="https://docs.djangoproject.com/en/1.9/ref/models/fields/#choices" rel="noreferrer">Django choices field option</a>, it utilises an iterable containing iterables of 2 items to define which values are allowed. For example:</p>
  
  <p><em>Models</em></p>
  
  <pre><code>class IceCreamProduct(models.Model):
      PRODUCT_TYPES = (
          (0, 'Soft Ice Cream'),
          (1, 'Hard Ice Cream'),
          (2, 'Light Ice Cream'),
          (3, 'French Ice Cream'),
          (4, 'Italian-style Gelato'),
          (5, 'Frozen Dairy Dessert'),
      )
      type = models.PositiveSmallIntegerField('Type', choices=PRODUCT_TYPES, default=0)
  </code></pre>
  
  <p>To generate a random value in Factory Boy for choices I would utilise factory.fuzzy.FuzzyChoice, but this only chooses an iterable of 2 items. It can not take the first item of the chosen iterable. For example:</p>
  
  <p><em>Factories</em></p>
  
  <pre><code>class IceCreamProductFactory(factory.django.DjangoModelFactory):
      class Meta:
          model = IceCreamProduct
  
      type = factory.fuzzy.FuzzyChoice(IceCreamProduct.PRODUCT_TYPES)
  </code></pre>
  
  <p><em>Error</em></p>
  
  <pre><code>TypeError: int() argument must be a string, a bytes-like object or a number, not 'tuple'
  </code></pre>
  
  <p>Getting the first item of the tuple is not possible. For example:</p>
  
  <p><em>Factories</em></p>
  
  <pre><code>class IceCreamProductFactory(factory.django.DjangoModelFactory):
      class Meta:
          model = IceCreamProduct
  
      type = factory.fuzzy.FuzzyChoice(IceCreamProduct.PRODUCT_TYPES)[0]
  </code></pre>
  
  <p><em>Error</em></p>
  
  <pre><code>TypeError: 'FuzzyChoice' object does not support indexing
  </code></pre>
  
  <p>It is possible with the default Python random iterator, but this generates a value on declaration time and so every factory object will have the same random value. For example:</p>
  
  <p><em>Factories</em></p>
  
  <pre><code>class IceCreamProductFactory(factory.django.DjangoModelFactory):
      class Meta:
          model = IceCreamProduct
  
      type = random.choice(IceCreamProduct.PRODUCT_TYPES)][0]
  </code></pre>
  
  <p>How can this be solved in Factory Boy? Do I need to create a custom FuzzyAttribute? (If so, please give an example)</p>