Думаю с формсетами вам поможет разобраться документация
https://docs.djangoproject.com/en/1.8/ref/forms/models/
по поводу фильтрации данных в форсетах, примеры -
stackoverflow.com/questions/9711313/django-how-to-...,
stackoverflow.com/questions/2581049/filter-queryse...
ну и если вы совсем приуныли то пример:
form:
class DatesOperationForm(forms.ModelForm):
class Meta:
model = OperationDate
DateFormSet = inlineformset_factory(Operation, OperationDate, extra=1, can_delete=False, form=DatesOperationForm)
view:
class OperationDetail(UpdateView):
form_class = OperationForm
def get_context_data(self, **kwargs):
context = super(OperationDetail, self).get_context_data(**kwargs)
context['form_dates'] = DateFormSet(instance=self.object)
return context
models:
class Operation(models.Model):
name = models.CharField(u"Название", max_length=255)
sum = models.DecimalField(u"Сумма", max_digits=10, decimal_places=2)
category = models.ForeignKey(CategoryOperation, verbose_name=u"Категория", null=True, blank=True,
related_name='operations')
...
class OperationDate(models.Model):
operation = models.ForeignKey(Operation, verbose_name=u"Опреация")
....
Собственно передаете instance Operation в формсет все остальное джанга сделает сама. Ну и если надо колдуете с queryset.