使用 Django/DRF 创建 CRUD api
我正在尝试使用 RandomUUID 从 Postgres 创建 UUID:
from django.db import models
from django.contrib.postgres.functions import RandomUUID
class Year(models.Model):
year_id = models.UUIDField(
primary_key=True, default=RandomUUID, editable=False)
当我运行 python manage.py makemigrations 时
它给了我这个错误:
Callable default on unique field year.year_id will not generate unique values upon migrating
我做错了什么?
我希望 Django ORM 告诉 Postgres 创建 UUID。我不想使用Python的uuid模块。
在 PostgreSQL 上 < 13, the pgcrypto extension must be installed. You can use the CryptoExtension migration operation to install it.
from uuid import uuid4
然后在你的模型中:
year_id = models.UUIDField(
primary_key=True, default=uuid4(), editable=False