sql >> Database teknologi >  >> NoSQL >> MongoDB

Tastypie-returdata fra SLET-anmodninger?

Ser på kilden og dokumentation for tastypie ser det ud til, at du bliver nødt til at tilsidesætte to funktioner af ModelResource (som MongoEngineResource arver ):

  1. obj_delete som sletter objektet.

  2. delete-detail som kaldes på en DELETE-anmodning og kalder obj_delete returnerer derefter en 204 No Content eller 404 Not Found

Jeg har ikke arbejdet med tastypie, så det er alt sammen ud fra at se på dokumentationen, men det er i det mindste et udgangspunkt. Du bliver nødt til at gøre sådan noget til din klasse:

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. Genbruger MongoDB slettet plads?

  2. Mongo Aggregation

  3. NoSQL Trends – MongoDB, Cassandra, CouchDB &Riak

  4. MongoDB/Mongoose Hvordan parrer jeg to db-indgange uden konflikter?