1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Fixes #1921: Ignore ManyToManyFields when validating a new object created via the API

This commit is contained in:
Jeremy Stretch
2018-03-01 11:16:28 -05:00
parent 01a97add2a
commit 08d06bd781

View File

@ -5,6 +5,7 @@ import pytz
from django.conf import settings
from django.contrib.contenttypes.models import ContentType
from django.db.models import ManyToManyField
from django.http import Http404
from rest_framework import mixins
from rest_framework.exceptions import APIException
@ -51,6 +52,11 @@ class ValidatedModelSerializer(ModelSerializer):
# Run clean() on an instance of the model
if self.instance is None:
model = self.Meta.model
# Ignore ManyToManyFields for new instances (a PK is needed for validation)
for field in model._meta.get_fields():
if isinstance(field, ManyToManyField):
attrs.pop(field.name)
instance = self.Meta.model(**attrs)
else:
instance = self.instance