मैं अपने दृश्य.py और Serializers.py में अनुरोध ऑब्जेक्ट को DRF में एक्सेस करना चाहता हूं। मेरे Views.py:Django रेस्ट फ्रेमवर्क में व्यूसेट और सीरियललाइज़र में अनुरोध ऑब्जेक्ट एक्सेस करना?
class ProductViewSet(viewsets.ReadOnlyModelViewSet):
"""
This viewset automatically provides `list` and `detail` actions.
"""
queryset = Product.objects.all()
serializer_class = ProductSerializer(context={'request': request})
मेरे 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')
Serializers.py में मैं ProductSerializer' object has no attribute 'request'
मिलता है। इसके अलावा views में मुझे NameError: name 'request' is not defined
मैं अनुरोध ऑब्जेक्ट का उपयोग कैसे करूं? क्या मुझे इसे विचारों से धारावाहिकों तक पास करना है? Views.py और serializers.py के बीच क्या अंतर है? आम तौर पर मैं Views.py में सभी व्यावसायिक तर्क लिखता हूं; यहां मुझे विचारों में सभी प्रश्न/फ़िल्टर भी करना चाहिए या क्या मुझे उन्हें धारावाहिकों में करना चाहिए या इससे कोई फर्क नहीं पड़ता। डीआरएफ के लिए नया कृपया मदद करें।
डीआरएफ संदर्भ में डिफ़ॉल्ट रूप से 'request' वस्तु भी शामिल है। 'Self.context [' request '] का उपयोग करें। उपयोगकर्ता'। –
यह काम करता है। इसे एक उत्तर के रूप में जोड़ें स्वीकार करेंगे। – Coderaemon