2016-02-16 9 views
6

che sto cercando di utilizzare il django messages framework per mostrare i messaggi dopo ModelViewSet.create():Come ottengo il django HttpRequest da una richiesta di django rest framework?

class DomainModelViewSet(ModelViewSet): 
    def create(self, request): 
     super(DomainModelViewSet, self).create(request) 
     messages.success(self.request, "Domain Added.") 
     return HttpResponseRedirect(reverse('home')) 

ma ottengo:

TypeError: add_message() argument must be an HttpRequest object, not 'Request'. 

Quindi, come si può usare il Django Django HttpRequest dal resto quadro Request?

risposta

9

Sono passato attraverso il codice sorgente e ho trovato la mia risposta mentre scrivevo la domanda.

Il framework Django REST dispone di un Request mantiene il HttpRequest (o almeno uno compatibile con i messaggi di Django) in una proprietà _request. Quindi, questo funziona:

messages.success(self.request._request, "Domain Added.")