Set GenericForeignKey fields on object before save

* A model with a required GenericForeignKey can be saved if the field is set
This commit is contained in:
Ian Foote 2014-04-12 17:51:02 +01:00
parent 93b9245b87
commit 0a0e4f22e7

View File

@ -16,6 +16,7 @@ import datetime
import inspect import inspect
import types import types
from decimal import Decimal from decimal import Decimal
from django.contrib.contenttypes.generic import GenericForeignKey
from django.core.paginator import Page from django.core.paginator import Page
from django.db import models from django.db import models
from django.forms import widgets from django.forms import widgets
@ -943,6 +944,8 @@ class ModelSerializer(Serializer):
# Forward m2m relations # Forward m2m relations
for field in meta.many_to_many + meta.virtual_fields: for field in meta.many_to_many + meta.virtual_fields:
if isinstance(field, GenericForeignKey):
continue
if field.name in attrs: if field.name in attrs:
m2m_data[field.name] = attrs.pop(field.name) m2m_data[field.name] = attrs.pop(field.name)