Django बाकी फ्रेमवर्क, एक मॉडल स्रोत, या एक क्वेरीसमूह आवश्यकता नहीं है। It does provide a basic Serializer
इस कारण से, as well as basic APIView
classes मानक Django क्लास-आधारित विचारों के शीर्ष पर सामग्री वार्ता का उपयोग करने की अनुमति देने के लिए।
आपको संभवतः Serializer
का उपयोग करने की आवश्यकता नहीं होगी जब तक कि आप परिणाम ऑब्जेक्ट को क्रमबद्ध नहीं कर रहे हों। Serializer
के लिए अन्य सामान्य उपयोग आने वाले डेटा को सत्यापित करने और इसे अपेक्षित प्रारूप में बदलने के लिए है।
यदि आप केवल मूल मूल्य वापस लौट रहे थे (आपने यह निर्दिष्ट नहीं किया था कि "मैट्रिक्स गुणा का परिणाम" वास्तव में क्या हो सकता है), तो मूलभूत विचारों का उपयोग करने से भी यह सब कुछ मैन्युअल रूप से करने से एक कदम है । Response
ऑब्जेक्ट जो Django REST Framework प्रदान करता है, आपको मनमानी डेटा वापस करने की अनुमति देता है और इसे स्वचालित रूप से तुलनीय JSON या XML प्रतिनिधित्व में परिवर्तित किया जाता है। आपको json.dumps
पर कॉल करने की आवश्यकता नहीं है या डेटा को किसी विशिष्ट प्रतिनिधित्व में कॉल करने की आवश्यकता नहीं है, Response
ऑब्जेक्ट यह सब आपके लिए करता है।
from rest_framework.response import Response
from rest_framework import serializers, views
class IncredibleInputSerializer(serializers.Serializer):
model_input = serializers.CharField()
class IncredibleView(views.APIView):
def get(self, request):
# Validate the incoming input (provided through query parameters)
serializer = IncredibleInputSerializer(data=request.query_params)
serializer.is_valid(raise_exception=True)
# Get the model input
data = serializer.validated_data
model_input = data["model_input"]
# Perform the complex calculations
complex_result = model_input + "xyz"
# Return it in your custom format
return Response({
"complex_result": complex_result,
})
ऊपर के उदाहरण में, हम एक IncredibleInputSerializer
कि यकीन है कि यह अनुरोध में शामिल है बनाने के लिए model_input
क्वेरी पैरामीटर की पुष्टि करता है बनाएँ। यह एक बहुत ही बुनियादी उदाहरण है, क्योंकि Django REST Framework इनपुट में अतिरिक्त चीजें करने का समर्थन करता है, जैसे इसे or validating में परिवर्तित करना जो कि यह एक विशिष्ट प्रारूप के अनुरूप है।
बेशक, यदि आपको ऑब्जेक्ट या ऑब्जेक्ट्स की सूची को क्रमबद्ध करने की आवश्यकता है, तो जहां डैंजो रीस्ट फ्रेमवर्क एक्सेल करता है। यह मॉडल ऑब्जेक्ट नहीं होना चाहिए, यह डेटा प्राप्त करने के लिए विशेषता या विधियों के साथ एक ऑब्जेक्ट हो सकता है, या यहां तक कि केवल एक मूल शब्दकोश, और Django REST Framework आपके लिए इसे क्रमबद्ध करने में सक्षम होना चाहिए।
स्रोत
2015-01-06 23:20:43
जांचें: [गैर-ओआरएम डेटा स्रोतों के साथ स्वादिष्ट का उपयोग करना] (http://django-tastypie.readthedocs.org/en/latest/non_orm_data_sources.html) –
अत्यधिक टीपी http: //www.django पर डीआरएफ की सलाह देते हैं -rest-framework.org/api-guide/views/ – Anentropic