Django добавляет только email пользователя, который создал индивидуальное оповещение

Я пытаюсь добавить только email пользователя, который создал индивидуальное оповещение, в уведомление по электронной почте.

Статус: у каждого отдельного пользователя есть своя панель, и они должны получать уведомление, когда их собственная стоимость криптовалюты ниже предупреждения.
Проблема: в настоящее время все пользователи получают все уведомления по электронной почте, в то время как правильным было бы, чтобы пользователь получал только письма, связанные с его собственной криптовалютой.
Вопрос: как я могу добавить только email пользователя, который создал индивидуальное оповещение?

Я попробовал два различных подхода: (i) SerializerMethodField() с initial_data, и (ii) я попробовал использовать CustomUserSerializer(data=request.data). Первый метод вызвал ошибку AlertsSerializer' object has no attribute 'initial_data', а второй метод вызвал ошибку NameError: name 'request' is not defined

Есть ли у вас предложение, как правильно добавить email пользователя в его собственные оповещения?

views.py

class CreateSectionAlerts(generics.CreateAPIView):
    def perform_create(self, serializer):
        serializer.save(user=self.request.user)
        print("New alert is saved", serializer.save(user=self.request.user))
    serializer_class = AlertsSerializer
    
class ListSectionAlerts(generics.ListAPIView):
    queryset = SectionAlerts.objects.all()
    serializer_class = AlertsSerializer                
    # ------- EMAIL STARTS HERE
    def get_queryset(self):
        print("****ALERTS START get_querysetdavid")
        queryset = SectionAlerts.objects.filter(userid=self.kwargs["pk"])
        for b in SectionAlerts.objects.filter(userid=self.kwargs["pk"]):
            print("b---Print SectionAlerts", b.id, b.valuenow, b.userid, b.ticker.c_0)
            if b.ticker.c_0 < b.valuealarm:
                print("Alert is achieved and must be sent")
                serializer = CustomUserSerializer(data=request.data)
                if serializer.is_valid():         
                    user_data = serializer.data
                    user=NewUser.objects.get(email=user_data['email'])
                    
                    email_body = 'Hi ' + user.user_name+ ', you received this message because the value of the crypto ' + str(b.ticker) + ' is now ' + str(b.ticker.c_0) +'€.' + ' and reached the alert value of ' + str(b.valuealarm) +'€.' + '\n'+ 'This email confirms this event. \n' + 'Click here https://www.cryptothlon.com to signin in your account and know more. \n' +'\n'+ 'Your Cryptothlon Team'
                    data={'email_body': email_body, 'to_email': user.email, 
                        'email_subject': 'Crypto alert'}
                    Util.send_email(data)
                    if user:
                        json = serializer.data
                        return Response(json, status=status.HTTP_201_CREATED)
                print("Email sent")
                try:
                    record = SectionAlerts.objects.get(id = b.id )
                    record.delete()
                    print("Record deleted successfully!")
                except:
                    print("Record doesn't exists")
        return queryset
    # ------- EMAIL ENDS HERE
Вернуться на верх