набор запросов django для поля многие ко многим

У меня есть следующие модели Django 1.2:

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)

Как я могу выполнить запрос, который даст мне все объекты Article, связанные с любой из тех же категорий, с которыми связан данный объект Preference?

например Если у меня есть объект Preference, относящийся к категориям «рыба», «кошки» и «собаки», я хочу получить список всех статей, связанных с любыми категориями «рыба», «кошки» или «собаки».