django: Как ограничить выбор полей в formset?

У меня проблемы с ограничением выбора в наборе форм. У меня есть следующие модели: сотрудники, отдел, проект, тип проекта, членство и роль. Сотрудник может добавлять / удалять роли, которые они играют для данного проекта отделов в наборе форм, форма должна ограничивать выбираемые проекты только теми, которые принадлежат отделу, к которому принадлежит сотрудник.

МОДЕЛИ:

class Department(models.Model):
    name = models.CharField(max_length=20)
    def __unicode__(self):
    return self.name

class Employee(models.Model):
    fname = models.CharField(max_length=15)
    department = models.ForeignKey(Department)
    def __unicode__(self):
        return self.fname

class Projecttype(models.Model):
    name = models.CharField(max_length=20)
    def __unicode__(self):
        return self.name

class Project(models.Model):
    projecttype = models.ForeignKey(Projecttype)
    department = models.ForeignKey(Department)
    members = models.ManyToManyField(Employee, through='Membership')
    def __unicode__(self):
       return "%s > %s" % (self.department, self.projecttype)

class Role(models.Model):
    name = models.CharField(max_length=20)
    def __unicode__(self):
       return self.name

class Membership(models.Model):
    project = models.ForeignKey(Project, null=True)
    department = models.ForeignKey(Department)
    employee = models.ForeignKey(Employee)
    role = models.ManyToManyField(Role, blank=True, null=True)
    class Meta:
        unique_together = (("project", "employee",),)

ПОСМОТРЕТЬ:

def employee_edit(request, employee_id):
    i = get_object_or_404(Employee, pk=employee_id)
    MembershipFormSet = modelformset_factory(Membership, exclude=('department', 'employee'),)
    f = MembershipFormSet(queryset=Membership.objects.filter(employee=i),)
    return render_to_response('gcs/edit.html', {'item': i, 'formset': f, }, context_instance=RequestContext(request))

Прямо сейчас ЕС может выбрать роль для любого проекта департамента. Это действует так:

Варианты проекта:

Projects.objects.all()

Я хочу ограничить проекты чем-то вроде этого: ОГРАНИЧИТЬ ВЫБОР ПРОЕКТА К:

Projects.objects.filter(department=i.department)

Ответы на вопрос(2)

Ваш ответ на вопрос