में नेस्टेड ऑब्जेक्ट्स मैं केवल विदेशीकी (या यूआरएल) की बजाय एक धारावाहिक के अंदर एक नेस्टेड ऑब्जेक्ट रखना चाहता हूं। this documentation के रूप में कहते हैं, मैं सिर्फ माता-पिता serializer में नेस्टेड वस्तु की serializer वर्ग निर्दिष्ट करने के लिए किया था:डीजेगो-रेस्ट-फ्रेमवर्क, सेरिआलाइजर्स
# Models
class NestedSample(models.Model):
something = models.CharField(max_length=255)
class Sample(models.Model):
thing = models.BooleanField()
nested = models.ForeignKey(NestedSample)
# Serializers
class NestedSampleSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = api_models.NestedSample
class SampleSerializer(serializers.HyperlinkedModelSerializer):
nested = NestedSampleSerializer() # HERE!
class Meta:
model = api_models.Sample
# Views
class NestedSampleViewSet(viewsets.ModelViewSet):
queryset = api_models.NestedSample.objects.all()
serializer_class = api_serializers.NestedSampleSerializer
class SampleViewSet(viewsets.ModelViewSet):
queryset = api_models.Sample.objects.all()
serializer_class = api_serializers.SampleSerializer
यह बहुत अच्छी तरह से जब मैं वस्तुओं मिल में काम करता है, लेकिन यह बनाने के लिए संभव नहीं है (= POST
) Sample
वस्तुओं अब, मैं त्रुटि मिलती है:
{u'non_field_errors': [u'Invalid data']}
मैं viewset में create
विधि अधिलेखित करने के लिए पी का उपयोग कर वस्तु प्राप्त करने की कोशिश
लेकिन यह भी काम नहीं करता है।
कोई विचार?
मुझे भी this question मिला है, मैं इस बात से संबंधित हो सकता हूं कि समस्या किस तरह हल करती है लेकिन मुझे पूरी नेस्टेड ऑब्जेक्ट का पर्दाफाश न करने दें, इसलिए शुरुआत में वापस जाएं।
धन्यवाद,
आपको अपने अनुरोध डेटा को NestedSample उदाहरण के साथ पॉप्युलेट करने के लिए ओवरराइड 'create' की आवश्यकता नहीं है, पीके स्ट्रिंग स्वयं ही काम करनी चाहिए। – Fiver
यह उत्तर देखें: http://stackoverflow.com/questions/23686888/how-to-implement-nested-models-routes/23696134#23696134 – YAtOff