Как работать с сериализатором, которому нужен контекст
У меня тут ситуация, когда сериализатору нужен контекст, в основном объект запроса.
class ProductSerializer(ModelSerializer):
    distance_away = SerializerMethodField(read_only=True)
    class Meta:
        model = Product
        fields = [
            'pk',
            'distance_away',
        ]
    def get_distance_away(self, obj):
        coordinates = self.context["coordinates"]
        distance_in_km = None
        if coordinates != 'null' and coordinates is not None:
            lat = float(tuple(coordinates.split(","))[0])
            lng = float(tuple(coordinates.split(","))[1])
            ....
Это означает, что я должен передавать контекст каждый раз, когда я использую или вызываю сериализатор. Это нормально для обычных представлений drf.
 Теперь я столкнулся с ситуацией, когда мне нужно использовать сериализатор в ModelObserver
class MarketplaceConsumer(GenericAsyncAPIConsumer):
    queryset = Product.objects.all()
    serializer_class = ProductSerializer
    permission_classes = [HasApiKey]
    @model_observer(Product)
    async def marketplace_activity(self, message: ProductSerializer, observer=None, **kwargs):
        await self.send_json(message)
    @marketplace_activity.serializer
    def marketplace_activity(self, instance: Product, action, **kwargs) -> ProductSerializer:
        '''This will return the product serializer'''
       
        return ProductSerializer(instance, context={'request': self.request}).data
В этот момент я получу следующую ошибку, которая имеет смысл (self.request):
У объекта 'ModelObserver' нет атрибута 'request' Этот ModelObserver предназначен для обработки действий с каналом websocket.
Есть ли способ решить эту ситуацию?