【发布时间】:2016-10-14 11:15:05
【问题描述】:
我正在使用 Django 和 DRF 创建一个 rest api。 我不想将 ID 直接暴露给客户端,所以我尝试像这个例子一样设置我的模型:
class AbstractGuidModel(models.Model):
uuid = models.UUIDField(blank=True, default=uuid.uuid4, unique=True, editable=False)
class Meta:
abstract = True
class MyModel(AbstractGuidModel):
name = models.CharField(max_length=NAME_LENGTH)
由于 AbstractGuidModel 具有 default=uuid.uuid4,uuid 由 python 代码生成,迁移如下所示:
CREATE TABLE "MyModel" ( ... "uuid" uuid NOT NULL UNIQUE, ... );
我读过 Postgres 有一个用于自动生成 uuid 的扩展。
一旦安装了扩展,我如何告诉 django 让数据库使用他自己的扩展,而不是让他使用 Python uuid 模块创建它们?
【问题讨论】:
标签: django postgresql uuid