diff --git a/apps/notification/views/common.py b/apps/notification/views/common.py index d41ef22c..375826e1 100644 --- a/apps/notification/views/common.py +++ b/apps/notification/views/common.py @@ -17,12 +17,11 @@ class CreateSubscribeView(generics.CreateAPIView): def create(self, request, *args, **kwargs): data = request.data + instance = None if 'email' in request.data: # we shouldn't create new subscriber if we have one - subscriber = models.Subscriber.objects.filter(email=request.data['email']).first() - if subscriber: - data = subscriber # new serializer will simply update instance instead of creating another one - serializer = self.get_serializer(data=data) + instance = models.Subscriber.objects.filter(email=request.data['email']).first() + serializer = self.get_serializer(data=data) if instance is None else self.get_serializer(instance, data=data) serializer.is_valid(raise_exception=True) self.perform_create(serializer) headers = self.get_success_headers(serializer.data)