MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Tastypie zwraca dane z żądań DELETE?

Patrząc na źródło i dokumentacja w przypadku smacznego ciasta wygląda na to, że musisz zastąpić dwie funkcje ModelResource (który MongoEngineResource dziedziczy ):

  1. obj_delete który usuwa obiekt.

  2. delete-detail który jest wywoływany na żądanie DELETE i wywołuje obj_delete następnie zwraca 204 No Content lub 404 Not Found

Nie pracowałem z deliciouspie, więc to wszystko z dokumentacji, ale to przynajmniej punkt wyjścia. Musisz zrobić coś takiego w swojej klasie:

class SimpleResource(resources.MongoEngineResource):
    class Meta:
        queryset = Simple.objects.all()
        resource_name = 'simple'
        allowed_methods = ('get', 'put', 'post', 'delete', 'patch')
        always_return_data = True


    def obj_delete(self, bundle, **kwargs):
        try:
            # get an instance of the bundle.obj that will be deleted
            deleted_obj = self.obj_get(bundle=bundle, **kwargs)
        except ObjectDoesNotExist:
            raise NotFound("A model instance matching the provided arguments could not be found.")
        # call the delete, deleting the obj from the database
        super(MongoEngineResource, self).obj_delete(bundle, **kwargs)
        return deleted_obj


    def delete_detail(self, request, **kwargs):
        bundle = Bundle(request=request)

        try:
            # call our obj_delete, storing the deleted_obj we returned
            deleted_obj = self.obj_delete(bundle=bundle, **self.remove_api_resource_names(kwargs))
            # build a new bundle with the deleted obj and return it in a response
            deleted_bundle = self.build_bundle(obj=deleted_obj, request=request)
            deleted_bundle = self.full_dehydrate(deleted_bundle)
            deleted_bundle = self.alter_detail_data_to_serialize(request, deleted_bundle)
            return self.create_response(request, deleted_bundle, response_class=http.HttpNoContent)
        except NotFound:
            return http.HttpNotFound()


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Zaktualizuj wiele dokumentów w mongoDB z różnymi wartościami

  2. Jak zaktualizować _id jednego dokumentu MongoDB?

  3. Mongodb, sprawdź, czy kolekcja jest pusta, node.js

  4. Jak mogę przezwyciężyć problemy ze skalowaniem w przypadku bezserwerowego i MongoDB?

  5. MongoDB\Driver\Exception\InvalidArgumentException Wykryto przepełnienie liczby całkowitej na Twojej platformie:300000000000