Как использовать запрос на удаление общего набора представлений без отправки 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 для получения дополнительной информации о сессиях.