Как присвоить внешний ключ внутри цикла Django

введите описание изображения здесьЯ хочу присвоить внешний ключ каждому цвету в цикле

colorArray=[{color:'red', product_id:5}, {color:'yellow', product_id:5}]

Модель продукта

class Product(models.Model):
    name = models.CharField(max_length=500)
    brand = models.CharField(max_length=500)
    description = models.CharField(max_length=500)

Цветовая модель

class Color(models.Model):
    colorName = models.CharField(max_length=500)
    product_id = models.ForeignKey(Product, on_delete=models.CASCADE)

просмотров

class AddColors(APIView):
    def post(self,request):
        for i in colorArray:
            s=AddColors()
            s.colorName=i['color']
            s.product_id=i[Product.objects.get(id=i['product_id'])]
            s.save()
        return Response({'colors Saved'})

Вы делаете это неправильно, на ваш взгляд:

class AddColors(APIView):
    def post(self,request):
        for i in colorArray:
            s = AddColors() # This is not correct
            s = Color() # Your model class is Color not AddColors
            s.colorName = i['color']

            # This is also incorrect: 
            s.product_id = i[Product.objects.get(id=i['product_id'])]

            # It should be like this:
            s.product_id = Product.objects.get(id=i['product_id'])

            s.save()
        return Response({'colors Saved'})
Вернуться на верх