rest_framework_tricks.serializers package¶
Submodules¶
rest_framework_tricks.serializers.nested_proxy module¶
Serializers.
The following code is used in the usage examples of the ModelSerializer
and HyperlinkedModelSerializer
classes.
>>> from rest_framework import serializers
>>>
>>> from .models import Book
>>>
>>>
>>> class PublishingInformationSerializer(serializers.ModelSerializer):
>>>
>>> publication_date = serializers.DateField(required=False)
>>> isbn = serializers.CharField(required=False)
>>> pages = serializers.IntegerField(required=False)
>>>
>>> class Meta:
>>>
>>> model = Book
>>> fields = (
>>> 'publication_date',
>>> 'isbn',
>>> 'pages',
>>> )
>>> nested_proxy_field = True
>>>
>>>
>>> class StockInformationSerializer(serializers.ModelSerializer):
>>>
>>> class Meta:
>>>
>>> model = Book
>>> fields = (
>>> 'stock_count',
>>> 'price',
>>> 'state',
>>> )
>>> nested_proxy_field = True
- class rest_framework_tricks.serializers.nested_proxy.HyperlinkedModelSerializer(*args, **kwargs)[source]¶
Bases:
HyperlinkedModelSerializer
HyperlinkedModelSerializer for models with NestedProxyField fields.
Example:
>>> from rest_framework_tricks.serializers import ( >>> HyperlinkedModelSerializer, >>> ) >>> >>> >>> class BookSerializer(HyperlinkedModelSerializer): >>> >>> publishing_information = PublishingInformationSerializer( >>> required=False >>> ) >>> stock_information = StockInformationSerializer(required=False) >>> >>> class Meta: >>> >>> model = Book >>> fields = ( >>> 'url', >>> 'id', >>> 'title', >>> 'description', >>> 'summary', >>> 'publishing_information', >>> 'stock_information', >>> )
- class rest_framework_tricks.serializers.nested_proxy.ModelSerializer(*args, **kwargs)[source]¶
Bases:
ModelSerializer
ModelSerializer for models with NestedProxyField fields.
Example:
>>> from rest_framework_tricks.serializers import ModelSerializer >>> >>> >>> class BookSerializer(ModelSerializer): >>> >>> publishing_information = PublishingInformationSerializer( >>> required=False >>> ) >>> stock_information = StockInformationSerializer(required=False) >>> >>> class Meta: >>> >>> model = Book >>> fields = ( >>> 'url', >>> 'id', >>> 'title', >>> 'description', >>> 'summary', >>> 'publishing_information', >>> 'stock_information', >>> )
- class rest_framework_tricks.serializers.nested_proxy.NestedProxyFieldIdentifier[source]¶
Bases:
object
NestedProxyField identifier.
- rest_framework_tricks.serializers.nested_proxy.extract_nested_serializers(serializer, validated_data, nested_serializers=None, nested_serializers_data=None)[source]¶
Extract nested serializers.
- Parameters:
serializer (rest_framework.serializers.Serializer) – Serializer instance.
validated_data (dict) – Validated data.
nested_serializers (dict) –
nested_serializers_data –
- Returns:
- Return type:
tuple
- rest_framework_tricks.serializers.nested_proxy.is_nested_proxy_field(field)[source]¶
Check if field is nested proxy field.
- Parameters:
field –
- Returns:
True or False
- Return type:
bool
- rest_framework_tricks.serializers.nested_proxy.set_instance_values(nested_serializers, nested_serializers_data, instance)[source]¶
Set values on instance.
Does not perform any save actions.
- Parameters:
nested_serializers – Nested serializers.
nested_serializers_data – Nested serializers data.
instance – Instance (not yet saved)
- Returns:
Same instance with values set.
- Return type:
Module contents¶
Serializers.
- class rest_framework_tricks.serializers.HyperlinkedModelSerializer(*args, **kwargs)[source]¶
Bases:
HyperlinkedModelSerializer
HyperlinkedModelSerializer for models with NestedProxyField fields.
Example:
>>> from rest_framework_tricks.serializers import ( >>> HyperlinkedModelSerializer, >>> ) >>> >>> >>> class BookSerializer(HyperlinkedModelSerializer): >>> >>> publishing_information = PublishingInformationSerializer( >>> required=False >>> ) >>> stock_information = StockInformationSerializer(required=False) >>> >>> class Meta: >>> >>> model = Book >>> fields = ( >>> 'url', >>> 'id', >>> 'title', >>> 'description', >>> 'summary', >>> 'publishing_information', >>> 'stock_information', >>> )
- class rest_framework_tricks.serializers.ModelSerializer(*args, **kwargs)[source]¶
Bases:
ModelSerializer
ModelSerializer for models with NestedProxyField fields.
Example:
>>> from rest_framework_tricks.serializers import ModelSerializer >>> >>> >>> class BookSerializer(ModelSerializer): >>> >>> publishing_information = PublishingInformationSerializer( >>> required=False >>> ) >>> stock_information = StockInformationSerializer(required=False) >>> >>> class Meta: >>> >>> model = Book >>> fields = ( >>> 'url', >>> 'id', >>> 'title', >>> 'description', >>> 'summary', >>> 'publishing_information', >>> 'stock_information', >>> )
- class rest_framework_tricks.serializers.NestedProxyFieldIdentifier[source]¶
Bases:
object
NestedProxyField identifier.
- rest_framework_tricks.serializers.extract_nested_serializers(serializer, validated_data, nested_serializers=None, nested_serializers_data=None)[source]¶
Extract nested serializers.
- Parameters:
serializer (rest_framework.serializers.Serializer) – Serializer instance.
validated_data (dict) – Validated data.
nested_serializers (dict) –
nested_serializers_data –
- Returns:
- Return type:
tuple
- rest_framework_tricks.serializers.is_nested_proxy_field(field)[source]¶
Check if field is nested proxy field.
- Parameters:
field –
- Returns:
True or False
- Return type:
bool
- rest_framework_tricks.serializers.set_instance_values(nested_serializers, nested_serializers_data, instance)[source]¶
Set values on instance.
Does not perform any save actions.
- Parameters:
nested_serializers – Nested serializers.
nested_serializers_data – Nested serializers data.
instance – Instance (not yet saved)
- Returns:
Same instance with values set.
- Return type: