From 963ce306f3226ec64eb8990c4fbc094a77fabcba Mon Sep 17 00:00:00 2001 From: Alf Date: Wed, 19 Dec 2018 22:37:52 +0800 Subject: [PATCH] Added "allow_unicode" to generated kwargs for ModelSerializer SlugField (#6315) --- rest_framework/utils/field_mapping.py | 3 +++ tests/test_model_serializer.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/rest_framework/utils/field_mapping.py b/rest_framework/utils/field_mapping.py index 50de3f1254..d3044ff59d 100644 --- a/rest_framework/utils/field_mapping.py +++ b/rest_framework/utils/field_mapping.py @@ -88,6 +88,9 @@ def get_field_kwargs(field_name, model_field): if decimal_places is not None: kwargs['decimal_places'] = decimal_places + if isinstance(model_field, models.SlugField): + kwargs['allow_unicode'] = model_field.allow_unicode + if isinstance(model_field, models.TextField) or (postgres_fields and isinstance(model_field, postgres_fields.JSONField)): kwargs['style'] = {'base_template': 'textarea.html'} diff --git a/tests/test_model_serializer.py b/tests/test_model_serializer.py index e9ed9957f7..898c859a4f 100644 --- a/tests/test_model_serializer.py +++ b/tests/test_model_serializer.py @@ -183,7 +183,7 @@ class Meta: null_boolean_field = NullBooleanField(required=False) positive_integer_field = IntegerField() positive_small_integer_field = IntegerField() - slug_field = SlugField(max_length=100) + slug_field = SlugField(allow_unicode=False, max_length=100) small_integer_field = IntegerField() text_field = CharField(max_length=100, style={'base_template': 'textarea.html'}) file_field = FileField(max_length=100)