Это мой класс сериализатора, который состоит из 2-х таблиц, т. Е. Сервера и Android. В таблице Android я создал функцию, которая, если обе метки (т. Е. Метки на Сервере и Android, совпадают, возвращают метку в новое поле, т. Е. (return_label
). Теперь все, что я хочу, это передать мое поле return_label
в мое приложение для Android, используя pusher.Help
from rest_framework import serializers
from .models import Server,Android
from pusher_push_notifications import PushNotifications
from pusher import Pusher
from django. shortcuts import render
from rest_framework.response import Response
from rest_framework import status
#This is my Food Serializer
class FoodSerializers(serializers.HyperlinkedModelSerializer):
class Meta:
model=Server
fields=('labelServer','Image1','upload1','Ingredients')
#Android Serializer
class AndroidSerializers(serializers.ModelSerializer):
return_label = serializers.SerializerMethodField()
class Meta:
model = Android
fields = ('label', 'imagestring', 'return_label')
#Compare label from Server and Android
def get_return_label(self, obj):
queryset = Server.objects.filter( labelServer=obj.label)
queryset_serializer = FoodSerializers( queryset, many=True, read_only=True)
push_notify()
return queryset_serializer.data
#Push Notification code
def push_notify(label,ingredients):
pn_client=PushNotifications(instance_id='fa68a5f8-de2f-436d-9e76-
eec73dc7b10c',secret_key='A685761BD68E7A0157D7944A805EAFF7C56313823A835DA23DAC59B1076AAD0A')' '
response = pn_client.publish(
interests=['hello'],
publish_body={'apns': {'aps': {'alert': 'Food Compared!!'}},
'fcm': {'notification': {'title': 'label'+str(Server.label), 'body': 'Ingredients!'+str(Server.Ingredients)}}}
)
print(response['publishId'])