我正在使用django为mysql创建数据库表,我希望它可以创建一个类型为uuid的列,我希望它可以自己生成uuid,这意味着每次插入一条记录,我都不需要为模型对象指定一个uuid。我怎么能做到,谢谢!
答案 0 :(得分:22)
如果你正在使用Django> = 1.8,你可以use a UUIDField
:
import uuid
from django.db import models
class MyUUIDModel(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
传递default = uuid.uuid4
使用随机UUID自动填充新记录(但请注意,这将在Python代码中完成,而不是在数据库级别完成)。
如果您使用的是旧版本的Django,则可以升级,或use django-extensions
, which provides a UUIDField
as well。