sql >> Databasteknik >  >> NoSQL >> MongoDB

Tastypie returdata från DELETE-förfrågningar?

Tittar på källan och dokumentation för tastypie ser det ut som att du behöver åtsidosätta två funktioner av ModelResource (som MongoEngineResource ärver ):

  1. obj_delete som tar bort objektet.

  2. delete-detail som anropas på en DELETE-begäran och anropar obj_delete returnerar sedan en 204 No Content eller 404 Not Found

Jag har inte arbetat med tastypie så det här är allt från att titta på dokumentationen, men det är åtminstone en utgångspunkt. Du måste göra något liknande för din klass:

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. Spring Data Mongo:upsert med olika fält uppdaterade

  2. MongoDB Uppdatera en kapslad array

  3. Uppdatering av kapslade arrayer i mongoDB via mongo-skal

  4. begränsa för att lagra dubblettvärden i mongodb