मैं एकाधिक ऑब्जेक्ट बनाने के लिए ModelSerializer का उपयोग करना चाहता हूं।

अगर मेरे पास वस्तुओं के लिए डेटा की एक सूची है,

data = [{object_1_data},{object_2_data},...]

और जब मैं वस्तुओं को बनाने के लिए मॉडल धारावाहिक का उपयोग करता हूं,

serializer = serializer(data=data, many=true)
if serializer.is_valid():
    objects = serializer.save()

क्या वापसी objects सूची में पहले के समान क्रम में वस्तुएं हैं?

objects = [object_1, object_2, ...]
0
Vikramark 23 जिंदा 2021, 12:11

1 उत्तर

सबसे बढ़िया उत्तर

हां।

उदाहरण (यदि आवश्यकता हो तो): डीआरएफ के लिए अपने व्यूसेट में परिणामों का क्रम जारी रखने के लिए सीरियलाइज़र को ऑब्जेक्ट ऑर्डर रखना चाहिए। आदेश मूल क्वेरीसेट/सूची आदेश से लिया गया है। DRF ListModelMixin की list() विधि लें:

class ListModelMixin:
    """
    List a queryset.
    """
    def list(self, request, *args, **kwargs):
        queryset = self.filter_queryset(self.get_queryset())

        page = self.paginate_queryset(queryset)
        if page is not None:
            serializer = self.get_serializer(page, many=True)
            return self.get_paginated_response(serializer.data)

        serializer = self.get_serializer(queryset, many=True)
        return Response(serializer.data)

(आदेश क्वेरीसेट में किया जाता है न कि धारावाहिक के परिणामी डेटा पर)

1
cakelover 23 जिंदा 2021, 12:45
जब (कई = सत्य) ध्वज एक धारावाहिक में जोड़ा जाता है, यह सूची धारावाहिक का एक बच्चा बन जाता है। जो तब व्यवस्था बनाए रखता है। सूची क्रमांक कार्यान्वयन के लिए लिंक। github.com/encode/django-rest- फ्रेमवर्क/ब्लॉब/…
 – 
Vikramark
23 जिंदा 2021, 12:50