Необходимо выполнить метод update на записываемых вложенных сериализаторах в django

models.py

class Product(models.Model):
    product_id = models.CharField(max_length=50,default=uuid.uuid4, editable=False, unique=True, primary_key=True)
    product_name = models.CharField(unique=True,max_length=255)

class Client(models.Model):

    client_id = models.CharField(max_length=50,default=uuid.uuid4, editable=False, unique=True, primary_key=True)
    org = models.ForeignKey(Organisation, on_delete=models.CASCADE, related_name='org',null=True)
    product = models.ManyToManyField(Product,related_name='product')
    client_name = models.CharField(unique=True,max_length=100)
....

serializers.py

Когда я попытался выполнить PUT запрос в конечной точке клиента, значение метода выставления счета обновляется, но значение продукта не обновляется. Так как поле product является полем many to many и поэтому я задал many = True и не могу выполнить обновление на вложенном сериализаторе.

Прошу помочь решить эту проблему, так как я застрял здесь надолго и не могу разобраться в проблеме. Ошибка, возникающая при выполнении PUT, имеет вид

enter image description here

Вам просто нужно

product.save()

for products_data in product_data:
    product = Product.objects.get(pk=products_data.get('product_id'))
    product.product_name = products_data.get('product_name', product.product_name)
    product.save()
    instance.product_data.add(product)
instance.save()
Вернуться на верх