Оператор не существует: bigint = uuid в django

Я хочу использовать поле uuid в качестве моего id (первичный ключ), но что-то не так, и я не могу это исправить

это моя модель



class Cart(models.Model):
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    created_at = models.DateTimeField(auto_now_add=True)


class CartItem(models.Model):
    cart = models.ForeignKey(Cart, on_delete=models.CASCADE , related_name='items')
    product = models.ForeignKey(Product, on_delete=models.CASCADE)
    quantity = models.PositiveSmallIntegerField()

    class Meta:
        unique_together = [['cart'], ['product']]


Это МОЙ Serializer.py



class CartItemSerializer(serializers.ModelSerializer):
    class Meta:
        model = Cart
        fields = ['id', 'product', 'quantity']


class CartSerializer(serializers.ModelSerializer):
    id = serializers.UUIDField(read_only=True)
    items = CartItemSerializer(many=True)

    class Meta:
        model = Cart
        fields = ['id', 'items']


And My Views.py is


class CartViewSet(CreateModelMixin, RetrieveModelMixin, GenericViewSet):
    queryset = Cart.objects.prefetch_related('items__product').all()
    serializer_class = CartSerializer

Моя база данных Postgres Sql

Моя ошибка, когда я просматриваю свой api мой guid

  1. Перед первоначальной миграцией обязательно создайте поле UUID uuid = UUIDField(primary_key=True, default=None, editable=False).

  2. Если вы уже выполнили начальную миграцию, то сбросьте базу данных, создайте ее заново и не забудьте удалить файлы миграции.

  3. Запустите миграции снова, и все должно быть готово.

Вернуться на верх