İki model vardır: Product
ve Picture
. Her Product
, birçok Picture
s ürününe sahip olabilir. POST kullanarak bir Ürün oluşturmak istediğimde sorularım var. Bir ImageField listesi içeren yuvalanmış bir nesneyi POST nasıl?İç içe geçmiş bir veriyi ve görüntü listesini nasıl gönderilir?
Product
modelidir:
class Product(models.Model):
product_id = models.AutoField(primary_key=True)
product_name = models.CharField(max_length=50)
description = models.TextField(blank=True)
Picture
modelidir:
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()
ben aşağıdaki gibi serializer.py yazın:
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')
kullanıyorum görünüm :
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)
Ben URL'ler ortamında kayıt am
:
url(r'^api/products/$', views.ProductEnum.as_view()),
sorular şunlardır:
- nasıl
django-rest-framework
olarak bu POST API Listeleri şu anda desteklenmemektedir" söylüyor test edebilir HTML girişi " - Birden çok
Pictures
ileProduct
POST için kaynak JSON nasıl kullanılır. VEYA multipart ayrıştırıcı kullanmalıyım. - cURL komutu nasıl yazılır?
Doğru almayı başardınız mı? – momokjaaaaa