Django upload view fail
Это моя модель продукта
class Product(models.Model):
name = models.CharField(max_length=255, blank=False)
category = models.ManyToManyField(ProductCategory)
thumbnail_image = models.ImageField(null=True, blank=True)
description = models.TextField(null=False, blank=False)
price = models.DecimalField(max_digits=20, decimal_places=2, null=False, blank=False)
stock = models.IntegerField(default=0)
tag = models.CharField(max_length=255, null=True, blank=True)
date = models.DateTimeField(auto_now=True)
enable = models.BooleanField(default=True)
как вы можете видеть, категория - многие ко многим.
поэтому я объявил 'product.category.add(product_category)' в представлении ProductUpload
@api_view(['POST'])
def ProductUpload(request):
img = request.FILES.get('thumbnamil_image')
data = request.data
product_category = request.POST.getlist('category')
product = Product(name = data['name'],
thumbnail_image = img,
description = data['description'],
price = data['price'],
stock = data['stock'],
tag = data['tag'],
enable = data['enable']
)
product.save()
product.category.add(product_category)
return Response('success')
Я думал, что это все для реализации функции загрузки. Однако,
не работает...
если я объявляю представление методом POST в представлении ProductList, оно работает...
если я стираю POST часть ProductList, он не работает..
Как я могу интегрировать две раздельные логики загрузки в представлении ProductUpload?
@api_view(['GET','POST'])
def ProductList(request):
if request.method == 'GET':
products = Product.objects.all()
serializer = ProductSerializer(products, many=True)
return Response(serializer.data)
elif request.method == 'POST':
serializer = ProductSerializer(data=request.data, many=False)
if serializer.is_valid():
serializer.save()
return Response(serializer.data)
return Response(serializer.errors)