Как создать объект ManyToMany в представлении django?

Я пытаюсь создать api продукта. Здесь у меня есть файл delivery_option, который имеет отношение многие-ко-многим с моим продуктом. когда я пытаюсь создать продукт, я получаю ошибку TypeError: Direct assignment to the forward side of a many-to-many set is prohibited. Вместо этого используйте delivery_option.set(). Как создать поле "многие ко многим" в django?

@api_view(['POST'])
@permission_classes([IsVendor])
def vendorCreateProduct(request):
    data = request.data
    user = request.user.vendor

    print(data['deliveryOption'])

    product = Product.objects.create(
        user=user,
        name=data['name'],
        old_price = data['price'],
        discount = data['discount'],
        image = data['avatar'],
        countInStock = data['countInStock'],
        subcategory = Subcategory.objects.get_or_create(name=data['subcategory'])[0],
        description=data['description'],
        delivery_option = data['deliveryOption'],
    )

    serializer = ProductSerializer(product, many=False)
    return Response(serializer.data)

Как говорит ошибка :
TypeError: Direct assignment to the forward side of a many-to-many set is prohibited. Use delivery_option.set() instead
Это означает, что поле many-to-many не поддерживает прямое присвоение
eg. delivery_option = data['deliveryOption'].
Вы должны использовать add() или set() метод для добавления значений в ваше поле "многие ко многим" следующим образом

product = Product.objects.create(...)
product.delivery_option.add(data['deliveryOption'])
Вернуться на верх