开始使用Wagtail。为了支持与遗留系统的互操作性,我希望我的Page对象的id / pk是UUID而不是整数。我尝试在我的类中添加id = models.UUIDField(primary_key=True, editable=False, default=uuid.uuid4)
,继承自Page
,但收到错误Local field u'id' clashes with field of similar name from base class 'Page'
是否有一种简单的方法可以使id
成为UUID?或者,我只需要在id
之外调用它吗?
答案 0 :(得分:1)
不幸的是,这并不是一种简单的方法 - ID是数字的假设被烘焙到数据库模式,URL路由,富文本数据表示和Wagtail中的其他各种地方设计。
是否可以选择将UUID列添加为模型上的新字段(名称类似于legacy_id
),并在需要与旧系统进行互操作时查看该字段 - 但是否则请保留主键为数字?