mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-09-17 01:32:30 +03:00
Set pk_field from target_field in ModelSerializer
This commit is contained in:
parent
601ef120c5
commit
1393573718
|
@ -1296,6 +1296,10 @@ class ModelSerializer(Serializer):
|
|||
field_kwargs['slug_field'] = to_field
|
||||
field_class = self.serializer_related_to_field
|
||||
|
||||
# `pk_field` is only valid for PrimaryKeyRelatedField
|
||||
if not issubclass(field_class, PrimaryKeyRelatedField):
|
||||
field_kwargs.pop('pk_field', None)
|
||||
|
||||
# `view_name` is only valid for hyperlinked relationships.
|
||||
if not issubclass(field_class, HyperlinkedRelatedField):
|
||||
field_kwargs.pop('view_name', None)
|
||||
|
|
|
@ -265,6 +265,8 @@ def get_relation_kwargs(field_name, relation_info):
|
|||
kwargs.pop('queryset', None)
|
||||
if model_field.null:
|
||||
kwargs['allow_null'] = True
|
||||
if isinstance(model_field.target_field, models.UUIDField):
|
||||
kwargs['pk_field'] = models.UUIDField()
|
||||
if kwargs.get('read_only', False):
|
||||
# If this field is read-only, then return early.
|
||||
# No further keyword arguments are valid.
|
||||
|
|
Loading…
Reference in New Issue
Block a user