Вызов ModelViewset create() из другого файла python?
Я был бы очень признателен за совет по этой конкретной проблеме, с которой я столкнулся.
Я использую IMAP для получения электронной почты (на emails.py) и мне нужно, чтобы некоторые данные в сообщениях электронной почты были опубликованы на существующей конечной точке API (используя DRF) и сохранены в моей базе данных. пока что у меня есть две идеи.
- Вызовите метод 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)
- Или я могу сделать HTTP-запрос из emails.py. Имеет ли смысл иметь код HTTP-клиента в серверном фреймворке? Согласно моим исследованиям, я могу использовать библиотеку запросов Python. .
Любой вклад/совет будет высоко оценен!