I have those two seralizers based on following models:
class LanguageSerializer(serializers.ModelSerializer): class Meta: model = Language fields = '__all__' class GameSerializer(serializers.ModelSerializer): language = LanguageSerializer() class Meta: model = Game fields = '__all__' class Game(models.Model): language = models.ForeignKey(Language) class Language(models.Model): name = models.CharField(max_length=50, unique=True) created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True)
When I try to create a new
Game
entity, I pass as parameter theLanguage id
of this Game. For some reasons, DRF is expecting the language to be passed as adictionary
and not as aninteger
. Here is the error:{ "language": { "non_field_errors": [ "Invalid data. Expected a dictionary, but got int." ] } }
What is the proper way to indicate to DRF, to create a
Game
which has theLanguage
property based on the providedLanguage id
?
score:1
Creating a separate serializer that doesn't include all of the details about Language is one solution. You can create a separate serializer that uses the PrimaryKeyRelatedField()
# I always call mine shallow to differentiate between the full serializer
class ShallowGameSerializer(serializers.ModelSerializer):
language = serializers.PrimaryKeyRelatedField()
class Meta:
model = Game
fields = '__all__'
You can use the normal GameSerializer
when returning/listing objects, and then the ShallowGameSerializer
when creating a Game, allowing you to just provide the id.
Credit To: stackoverflow.com
Related Query
- Django REST Framework - Serialize nested relations on create
- django rest framework create nested objects "Models" by POST
- django rest framework serialize a dictionary without create a model
- create multiple objects using writable nested serializers in django rest framework 3
- Update / patch / create nested models in Django Rest framework
- Django REST Framework create nested serializers gives pk error
- Django Rest Framework - create objects passed as a list attribute of nested object
- Django rest framework nested serializer create method
- Django REST Framework nested relations without related names
- Django Rest Framework - Django Nested serializer One to Many Relations
- Update Create Method in Django Rest Framework for two nested serializers
- Django REST Framework create and update nested objects
- Django Rest Framework - How to serialize nested fields
- Correct way to use Django's ORM and Django Rest Framework to serialize a queryset of nested relationships?
- Django Rest Framework - Nested fields: Do not create but get one from existing records
- Create Account, nested serialization Django Rest Framework
- Django Rest Framework nested objects create with request.user
- Integrity error while trying to serialize nested object using django rest framework
- Django rest framework nested self-referential objects
- Django Rest Framework writable nested serializers
- Django Rest Framework POST Update if existing or create
- Django REST Framework POST nested objects
- context in nested serializers django rest framework
- Serialize queryset in Django rest framework
- django rest framework - how do you flatten nested data?
- django REST framework - limited queryset for nested ModelSerializer?
- How to create a new user with django rest framework and custom user model
- Django Rest Framework - Read nested data, write integer
- Django Rest Framework model Id field in nested relationship serializer
- Writable nested serializer with existing objects using Django Rest Framework 3.2.2
More Query from same tag
- Django-Machina forum panel not showing in wagtail admin panel
- How to always listen for amazon sqs in python django rest framework
- How to include part of the url patterns from an Django app
- Trouble loading static files in Nginx + Digital Ocean Deployment
- AttributeError: 'bool' object has no attribute
- Django - Global variable, Should I use Template context processor?
- Django Sessions getting dropped when redirected from another domain
- Dictionary comprehension with Q
- Django all striptags apart from <p>
- how to change form field in method is_valid()
- South with django 1.7
- Updated MEDIA_URL not reflected in ImageField url
- How to transfer your local sqlite3 data to heroku?
- double-submit issue in browsers - Bootstrap + Django
- Dynamically customize django admin columns?