Оператор не существует: 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
Перед первоначальной миграцией обязательно создайте поле UUID
uuid = UUIDField(primary_key=True, default=None, editable=False)
.Если вы уже выполнили начальную миграцию, то сбросьте базу данных, создайте ее заново и не забудьте удалить файлы миграции.
Запустите миграции снова, и все должно быть готово.