15 lines
468 B
Python
15 lines
468 B
Python
|
|
from rest_framework import serializers
|
||
|
|
|
||
|
|
|
||
|
|
class DynamicFieldsModelSerializer(serializers.ModelSerializer):
|
||
|
|
def __init__(self, *args, **kwargs):
|
||
|
|
fields = kwargs.pop("fields", None)
|
||
|
|
|
||
|
|
super(DynamicFieldsModelSerializer, self).__init__(*args, **kwargs)
|
||
|
|
|
||
|
|
if fields is not None:
|
||
|
|
allowed = set(fields)
|
||
|
|
existing = set(self.fields)
|
||
|
|
for field_name in existing - allowed:
|
||
|
|
self.fields.pop(field_name)
|