try to fix subscriptions #2

This commit is contained in:
Kuroshini 2020-01-24 18:52:36 +03:00
parent e998865de5
commit 03946d0626

View File

@ -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)