title: Django: Best way to highlight primary/favorite relation in ManyToMany relationship
body: <p>What is the best way to highlight a specific relationship in a ManyToMany relationship in django?</p>
  
  <p>For instance, if I want to highlight the primary or otherwise "best" reference to a gene in a database of genes, my current strategy (which seems somehow wrong and repetitive) is to use a foreign key in addition to a ManyToManyField:</p>
  
  <pre><code>from django.db import models
  
  class Gene(models.Model):
      name = models.CharField()
      primary_reference = models.ForeignKey(Reference)
      other_references = models.ManyToManyField(Reference)  # doesn't include primary
  
  class Reference(models.Model):
      year = models.CharField()
      author = models.CharField()
  </code></pre>
  
  <p>this gets the job done, but now if I want to get ALL references, I can't just get <code>gene.references</code> ... (rather, I need to concatenate <code>primary_references</code> and <code>other_references</code>)</p>
  
  <p>on the other hand, if I were to just make a single ManyToManyField field</p>
  
  <pre><code>class Gene(models.Model):
      name = models.CharField()
      referencess = models.ManyToManyField(Reference)  # includes primary
  </code></pre>
  
  <p>what is the best way to get something like <code>gene.primary_reference</code> (and conversely, <code>gene.other_references</code>, excluding the primary)? </p>
  
  <p>I thought of having an additional field in the Reference model with something like a boolean for "primary reference"... but that doesn't work because as an additional note to my case: a given reference can reference <em>many</em> genes while being the primary reference for only <em>one</em> of its referenced genes.  </p>
  
  <p>I should also point out the the criteria determining the "primary" reference in this case is not something that can be calculated from information in the reference model (such as date published, for example).</p>