Closed
Description
Checklist
- I have verified that that issue exists against the
master
branch of Django REST framework. - I have searched for similar issues in both open and closed tickets and cannot find a duplicate.
- This is not a usage question. (Those should be directed to the discussion group instead.)
- This cannot be dealt with as a third party library. (We prefer new functionality to be in the form of third party libraries where possible.)
- I have reduced the issue to the simplest possible case.
- I have included a failing test as a pull request. (If you are unable to do so we can still accept the issue.)
Actually there is a duplicate but without a valid use case.
User story
I want to fill in the non-nullable relational field on the Model
(eg. in save()
), i would make it required=False
in the DRF to allow it.
Steps to reproduce
from django.db import models
from rest_framework import serializers
class Target(models.Model):
pass
class Source(models.Model):
target = models.ForeignKey(Target)
class ExampleSerializer(serializers.ModelSerializer):
class Meta:
model = Source
fields = ('id', 'target')
extra_kwargs = {'target': dict(required=False)}
serializer = ExampleSerializer(data={})
serializer.is_valid(raise_exception=True)
Expected behavior
assert 'target' not in serializer.data
Actual behavior
try:
serializer.data
except KeyError:
print('Nuff said')
Metadata
Metadata
Assignees
Labels
No labels