Skip to content

Commit

Permalink
works with generic foreign keys
Browse files Browse the repository at this point in the history
  • Loading branch information
Damien SZCZYT committed Jul 4, 2012
1 parent e50b647 commit 06e74da
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions nested_forms/forms.py
Expand Up @@ -12,6 +12,7 @@
from django.forms.models import ModelFormOptions, ModelFormMetaclass, modelformset_factory, \
inlineformset_factory, BaseInlineFormSet
from django.http import QueryDict
from django.contrib.contenttypes.generic import GenericRelation

logger = logging.getLogger(__name__)

Expand Down Expand Up @@ -224,10 +225,13 @@ def get_related_field(self, name):

def get_related_model(self, name):
field = self.get_related_field(name)
if isinstance(field, RelatedObject):
if isinstance(field, GenericRelation):
return field.related.parent_model
elif isinstance(field, RelatedObject):
return field.model
elif isinstance(field, models.ManyToManyField):
return field.rel.to
raise

def _get_formset(self, name, form, extra=None, initial=None, can_delete=True, \
update_button=None, fk_name=None, duplicate=False, \
Expand Down Expand Up @@ -462,7 +466,7 @@ def resolve_callable(var, args=None, kwargs=None, default=None):
queryset = to.objects.filter(
pk__in = list(to.objects.filter(
**{
field.rel.related_name: self.instance.pk
field.related.var_name: self.instance.pk
}
).values_list("pk", flat=True)) + [
_data.get('%s-%d-%s' % (prefix, x, instance_pk))
Expand Down

0 comments on commit 06e74da

Please sign in to comment.