Есть три модели
class Category(models.Model):
name = models.CharField(max_length=150)
class Offer(models.Model):
date_add = models.DateField(_(u'дата начала'),auto_now_add=True,)
title = models.CharField(_(u'название'),max_length=100,)
description = models.TextField(_(u'описание'),)
categories = models.ManyToManyField(Category, verbose_name=_(u'категории'),)
class Join(models.Model):
offer = models.ForeignKey(Offer,)
date_start = models.DateField(_(u'дата начала'),auto_now_add=True,)
object_list = Join.objects.select_related('offer')