From a2d614ddfd68f0d7f2a63031241b8adcf353a562 Mon Sep 17 00:00:00 2001 From: Code Apprentice Date: Wed, 24 Oct 2018 00:02:03 -0600 Subject: [PATCH] Add `for_model()` static method to ModelSerializer --- rest_framework/serializers.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index 110ffbfa9..74a5ad2bc 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -901,6 +901,16 @@ class ModelSerializer(Serializer): # "HTTP 201 Created" responses. url_field_name = None + @staticmethod + def for_model(model): + serializer_name = model.__name__ + 'Serializer' + meta = type('Meta', (), {'model': model, 'fields': '__all__'}) + return type( + serializer_name, + (ModelSerializer,), + {'Meta': meta} + ) + # Default `create` and `update` behavior... def create(self, validated_data): """