more work on serializing tags
This commit is contained in:
@@ -47,16 +47,11 @@ class SingleTagSerializerField(serializers.Field):
|
||||
return value
|
||||
|
||||
|
||||
class CustomTagSerializer(serializers.ModelSerializer):
|
||||
class CustomTagSerializer(serializers.Serializer):
|
||||
"""
|
||||
Differentiate between tags and single-tags
|
||||
"""
|
||||
|
||||
def __init__(self, instance=None, data='', **kwargs):
|
||||
self.serializer_field_mapping[SingleTagSerializerField] = CharField
|
||||
self.serializer_field_mapping[TagListSerializerField] = ListField
|
||||
super(CustomTagSerializer, self).__init__(instance, data, **kwargs)
|
||||
|
||||
def create(self, validated_data):
|
||||
to_be_tagged, validated_data = self._pop_tags(validated_data)
|
||||
|
||||
@@ -149,8 +144,9 @@ class CustomTagSerializer(serializers.ModelSerializer):
|
||||
|
||||
def _pop_tags(self, validated_data):
|
||||
to_be_tagged = {}
|
||||
for key in self.serializer_field_mapping.keys():
|
||||
field = self.serializer_field_mapping[key]
|
||||
|
||||
for key in self.fields.keys():
|
||||
field = self.fields[key]
|
||||
if isinstance(field, TagListSerializerField):
|
||||
if key in validated_data:
|
||||
to_be_tagged[key] = validated_data.pop(key)
|
||||
|
||||
Reference in New Issue
Block a user