Desidero accedere all'oggetto richiesta nel mio Views.py e Serializers.py in DRF. mio Views.py:Accesso all'oggetto richiesta in serie viste e serializzatori in Django Rest Framework?
class ProductViewSet(viewsets.ReadOnlyModelViewSet):
"""
This viewset automatically provides `list` and `detail` actions.
"""
queryset = Product.objects.all()
serializer_class = ProductSerializer(context={'request': request})
mio Serializers.py:
class ProductSerializer(serializers.HyperlinkedModelSerializer):
get_sr_price = serializers.SerializerMethodField('get_sr_price_func')
def get_sr_price_func(self, obj):
return self.request.user ??
class Meta:
model = Product
fields = (
'title', 'slug', 'product_stores', 'get_sr_price')
In Serializers.py ottengo ProductSerializer' object has no attribute 'request'
. Inoltre in Views.py ottengo NameError: name 'request' is not defined
Come si accede all'oggetto richiesta? Devo passarlo dalle visualizzazioni ai serializzatori? Qual è la differenza tra views.py e serializers.py? Generalmente scrivo tutta la logica aziendale in Views.py; anche qui dovrei fare tutte le query/filtri nelle viste o dovrei farle nei serializzatori o non fa differenza. Nuovo a DRF, per favore aiuto.
DRF include 'oggetto request' di default nel contesto. Usa 'self.context ['richiesta']. Utente'. –
Questo funziona. Aggiungilo come una risposta accetterà. – Coderaemon