gpt4 book ai didi

django - 迁移时传递 South 随机唯一默认值

转载 作者:行者123 更新时间:2023-12-04 00:04:02 26 4
gpt4 key购买 nike

我正在尝试使用现有数据转发迁移模型。该模型有一个新字段,其约束为 unique=True 和 null=False。
当我做

./manage.py schemamigration myapp --auto

South 让我通过询问为新字段指定默认值:
Specify a one-off value to use for existing columns now

通常我将其设置为 None 但由于该字段需要是唯一的,我想知道是否可以通过以下方式向 South 传递一个唯一值:
 >>> import uuid; uuid.uuid1().hex[0:35]

这给了我一条错误消息
! Invalid input: invalid syntax 

在通过命令行迁移时是否可以传递 South 随机唯一默认值?

谢谢。

最佳答案

不幸的是,只有 datetime模块可用作架构迁移中的一次性值。

但是,您可以通过将其拆分为三个迁移来实现相同的效果:

  • 将新字段添加到没有约束的模型(null=True, unique=False)
  • 使用数据迁移将 UUID 添加到新字段
  • 在新字段上添加约束(null=False,unique=True)

  • 数据迁移教程: http://south.readthedocs.org/en/0.7.6/tutorial/part3.html#data-migrations

    关于django - 迁移时传递 South 随机唯一默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13605280/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com