Как использовать запрос на удаление общего набора представлений без отправки pk

Я использую django в бэкенде и react native во фронтенде, у меня есть generic viewset с миксинами destroy, create. В моем случае я делаю запрос на пост, когда пользователь вошел в систему, а затем удаляю тот же экземпляр, когда он вышел. Проблема в том, что я не знаю pk созданного экземпляра, чтобы отправить его в запросе на удаление.

Есть ли способ узнать pk созданного экземпляра модели, чтобы затем использовать его в запросе на удаление?

NB: модель pk автоматически генерируется в Django, а не является созданным полем. Представление является

class DeviceViewSet(mixins.ListModelMixin, mixins.CreateModelMixin,
                         mixins.DestroyModelMixin, viewsets.GenericViewSet):
    serializer_class = DeviceSerializer
    queryset = Device.objects.all()

Поскольку ваши данные, похоже, являются чем-то, что живет в течение жизни пользовательской сессии, сессия звучит как хорошее место для их хранения.

Например, при входе в систему вы можете хранить pk в сессии:

# once the user is logged in and you have created this obj
obj = ThePersonalizedModel.objects.create(....)
request.session['personalized_obj_pk'] = obj.pk

и затем, когда вам нужно удалить его, и до истечения срока действия сессии:

delete_pk = request.session['personalized_obj_pk']

См. https://docs.djangoproject.com/en/4.0/topics/http/sessions/#session-serialization для получения дополнительной информации о сессиях.

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