title: Django - Multiple optional ForeignKey
body: <pre><code>class Truc(models.Model):
    name = models.CharField(max_length=50, unique=True)
    machin1 = models.ForeignKey(Machin1, blank=True, null=True)
    machin2 = models.ForeignKey(Machin2, blank=True, null=True)
    machin3 = models.ForeignKey(Machin3, blank=True, null=True)
  </code></pre>
  
  <p>I would like <code>Truc</code> to be linked to one <code>machin</code>, either <code>machin1</code> either <code>machin2</code> or <code>machin3</code>.</p>
  
  <p>Only one link, so this kind of validation:</p>
  
  <pre><code>machin1 xor machin2 xor machin3
  </code></pre>