You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
class AlarmListSerializer(serializers.ListSerializer):
@classmethod
def many_init(cls, *args, **kwargs):
# Instantiate the child serializer.
kwargs['child'] = cls()
# Instantiate the parent list serializer.
return AlarmListSerializer(*args, **kwargs)
def create(self, validated_data):
ret = []
for item in validated_data:
alarm_obj = self.child.create(item)
ret.append(alarm_obj)
return ret
class AlarmSerializer(WritableNestedModelSerializer):
trigger = AlarmTriggerTimeSerializer(many=True, required=True)
notification = AlarmNotificationUsersSerializer(many=True, required=True)
class Meta:
model = Alarm
list_serializer_class = AlarmListSerializer
fields = ['process', 'above_limit',
'below_limit', 'is_expired',
'is_active', 'trigger', 'notification']
def create(self, validated_data):
['.. Some code ...']
ret = super().create(validated_data)
return ret
def update(self, instance, validated_data):
['.. Some code ...']
ret = super().update(instance, validated_data)
return ret
I have a serializer like this. I used to pass multiple objects with nested relations to this serializer with many=True enabled from the view.
Sample JSON is as follows;
Here Alarm object is getting created, but its nested relations are not created. What can be wrong here
The text was updated successfully, but these errors were encountered:
akhilmathew001
changed the title
WritableNestedModelSerializer not support multiple objects creation having nested relations
Creating multiple objects with drf-writable-nested WritableNestedModelSerializer not creating the nested relation objects
Jul 7, 2022
I guess this happens because, in the update_or_create_reverse_relations method, the related_data is got from self.get_initial() which will be an empty OrderedDict, since the initial_data in the case of creating multiple objects is a list (check the get_initial method for more context).
I have a serializer like this. I used to pass multiple objects with nested relations to this serializer with many=True enabled from the view.
Sample JSON is as follows;
Here Alarm object is getting created, but its nested relations are not created. What can be wrong here
The text was updated successfully, but these errors were encountered: