Вызов ModelViewset create() из другого файла python?

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

Я использую IMAP для получения электронной почты (на emails.py) и мне нужно, чтобы некоторые данные в сообщениях электронной почты были опубликованы на существующей конечной точке API (используя DRF) и сохранены в моей базе данных. пока что у меня есть две идеи.

  1. Вызовите метод ModelViewSet create() из файла emails.py. Но я предполагаю, что мне нужно будет убедиться, что объект запроса точно такой же, как тот, который генерируется при HTTP post запросе из фронтенда. Я боюсь, что метаданные могут стать слишком сложными и оставить место для беспорядочных ошибок.
    class RequestView(viewsets.ModelViewSet):
        serializer_class = RequestSerializer
        
        def get_queryset(self):
            queryset = Request.objects.all().select_related('user_id')
            user_id = self.request.query_params.get('user_id')
            if user_id is not None:
                queryset = Request.objects.filter(user_id=user_id).order_by('id')
            return queryset

        def create(self, request):
            # enter code here
            return super().create(request)
  1. Или я могу сделать HTTP-запрос из emails.py. Имеет ли смысл иметь код HTTP-клиента в серверном фреймворке? Согласно моим исследованиям, я могу использовать библиотеку запросов Python.
  2. .

Любой вклад/совет будет высоко оценен!

Вернуться на верх