django-rest-framework-recursive
django-rest-framework-recursive copied to clipboard
How deserializer data and save it in db?
Store need
{
'name': 'category 1',
'children':[
{'name': 'category 2'},
{'name': 'category 3'},
]
}
I use djangorestframework and trying to write serializer for
class Category(MPTTModel):
name = models.CharField(max_length=100)
parent = TreeForeignKey('self', on_delete=models.CASCADE, null=True, blank=True, related_name='children')
class MPTTMeta:
order_insertion_by = ['name']
I made it
class CategorySerializer(serializers.ModelSerializer):
class Meta:
model = Category
fields = ['id', 'name', 'children']
read_only_fields = ['parents']
# parent = serializers.ListField()
children = RecursiveField('CategorySerializer', required=False, allow_null=True, many=True)
And I got the error TypeError: unhashable type: 'collections.OrderedDict'. It seems that the internal fields are not serialized.
I think combining these two packages (django-mptt, drf-writable-nested) can solve your problem.