如何使用django自动创建uuid列

时间:2015-12-14 10:13:04

标签: python mysql django

我正在使用django为mysql创建数据库表,我希望它可以创建一个类型为uuid的列,我希望它可以自己生成uuid,这意味着每次插入一条记录,我都不需要为模型对象指定一个uuid。我怎么能做到,谢谢!

1 个答案:

答案 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