title: django queryset for many-to-many field
body: <p>I have the following Django 1.2 models:</p>
  
  <pre><code>class Category(models.Model):
      name = models.CharField(max_length=255)
  
  class Article(models.Model):
      title = models.CharField(max_length=10, unique=True)
      categories = models.ManyToManyField(Category)
  
  class Preference(models.Model):
      title = models.CharField(max_length=10, unique=True)
      categories = models.ManyToManyField(Category)
  </code></pre>
  
  <p>How can I perform a query that will give me all Article objects that are associated with any of the same categories that a given Preference object is related with? </p>
  
  <p>e.g. If I have a Preference object that is related to categories "fish", "cats" and "dogs", I want a list of all Articles that are associated with any of "fish", "cats" or "dogs".</p>