我有一个CustomUser模型,我希望每个插入都生成一个唯一的shortuuid。 不知道我是否以正确的方式进行操作,因为我遇到了带有连续插入的非唯一uuid。还是我应该重写create方法并从那里生成shortuuid?
from django_extensions.db.fields import ShortUUIDField
import shortuuid
class CustomUser(AbstractUser):
uuid = ShortUUIDField(unique=True, blank=False, editable=False, default=shortuuid.uuid())
答案 0 :(得分:0)
默认情况下,您始终需要传递 callable 而不是结果。
uuid = ShortUUIDField(unique=True, editable=False, default=shortuuid.uuid)
即没有括号。
blank=False
是默认设置,您无需设置它。还要注意,这可能是主键:您应该设置primary_key=True
,在这种情况下,您不需要设置unique
或editable
。