Fine tuning for serialized fields
Project description
drf-optionalfields gives you the flexibility to specify which fields you want to serialized.
There are two mixins available: OptionalFieldsMixin: Which allows you to set some optional fields. These fields can be requested via GET params DynamicFilterMixin: Which allows you to specify only the fields you need.
from rest_framework.serializers import ModelSerializer
from drf_optionalfields import OptionalFieldsMixin
class MyModelSerializer(OptionalFieldsMixin, ModelSerializer):
class Meta:
model = SomeModel
fields = ("id", "username", "address", "full_name")
optional_fields = ("address", "full_name")
# or combined with DynamicFilterMixin
class MyModelSerializer(OptionalFieldsMixin, DynamicFilterMixin, ModelSerializer):
class Meta:
model = SomeModel
fields = ("id", "username", "address", "full_name")
optional_fields = ("address", "full_name")
# You want to see an "address" you have set in the Meta:
GET /users/1/?fields=address
# You want only to return "username":
GET /users/1/?filter=username
# You want only to return the optional "full_name":
GET /users/1/?fields=full_name&filter=username
Thanks to Wim Glen for providing great bootstrap code with <https://github.com/wimglenn/djangorestframework-queryfields>(djangorestframework-queryfields)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Close
Hashes for drf-optionalfields-0.9.14.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | f6a6ccb1120e8527f3f7d1b7ffc71100749a29719bc7c41addfb1b49fc6e4b0a |
|
MD5 | ebba6249b70c4ba5b26c10135be540f7 |
|
BLAKE2b-256 | d254dd4549762b7fbea5e33e682992b8f476b6f4b690cea57b5622ca09fa4ce1 |