पोस्ट करने के लिए कैसे दो मॉडल हैं: Product
और Picture
। प्रत्येक Product
में कई Picture
एस हो सकते हैं। मेरे पास प्रश्न हैं जब मैं POST का उपयोग कर उत्पाद बनाना चाहता हूं। एक ImageField सूची युक्त एक नेस्टेड ऑब्जेक्ट को कैसे पोस्ट करें?एक नेस्टेड डेटा और छवि की सूची
Product
मॉडल है:
class Product(models.Model):
product_id = models.AutoField(primary_key=True)
product_name = models.CharField(max_length=50)
description = models.TextField(blank=True)
Picture
मॉडल है:
class Picture(models.Model):
product = models.ForeignKey(Product, related_name='pictures')
path = models.ImageField(null=False, upload_to='product_pic')
description = models.CharField(max_length=255, null=True, blank=True)
main = models.BooleanField()
मैं पालन serializer.py लिखें:
class PictureSerializer(serializers.ModelSerializer):
class Meta:
model = Picture
fields = ('path', 'description', 'main')
class ProductSerializer(serializers.ModelSerializer):
pictures = PictureSerializer(many=True, required=False)
class Meta:
model = Product
fields = ('product_id', 'product_name', 'pictures', 'description')
राय यह है कि मैं उपयोग कर रहा हूँ है:
class ProductEnum(generics.ListCreateAPIView):
queryset = Product.objects.all()
serializer_class = ProductSerializer
permission_classes = (IsAuthenticated,)
def post(self, request, format=None):
serializer = ProductSerializer(data=request.DATA, files=request.FILES)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
मैं के रूप में यूआरएल में पंजीकृत कर रहा हूँ:
url(r'^api/products/$', views.ProductEnum.as_view()),
प्रश्न हैं:
- मैं कैसे परीक्षण कर सकते हैं
django-rest-framework
के रूप में इस पोस्ट एपीआई मुझसे कहता है कि "सूचियाँ वर्तमान में समर्थित नहीं हैं एचटीएमएल इनपुट " - एकाधिक
Pictures
के साथProduct
संसाधनों को पोस्ट करने के लिए JSON का उपयोग कैसे करें। या मुझे मल्टीपार्ट पार्सर का उपयोग करना होगा। - curl कमांड कैसे लिखें?
क्या आपने इसे सही करने के लिए प्रबंधित किया था? – momokjaaaaa