sql >> Database >  >> NoSQL >> MongoDB

Tastypie retourneert gegevens van VERWIJDER-verzoeken?

Kijkend naar de bron en documentatie voor Tastypie lijkt het alsof je twee functies moet overschrijven van ModelResource (die MongoEngineResource erft ):

  1. obj_delete die het object verwijdert.

  2. delete-detail die wordt aangeroepen op een DELETE-verzoek en obj_delete . aanroept retourneert vervolgens een 204 No Content of 404 Not Found

Ik heb niet met Tastypie gewerkt, dus dit komt allemaal door de documentatie te bekijken, maar het is in ieder geval een startpunt. Je moet zoiets als dit met je klas doen:

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. Vind duplicaat in array zonder $unwind

  2. MongoDB 4.0 JREException:de 'cursor'-optie is vereist, behalve voor aggregatie met het argument explain

  3. In-memory cache met LRU-vervaldatum

  4. MongoDB en Java-stuurprogramma:negeer hoofdletters in query