Django模型

时间:2016-01-31 03:17:27

标签: python django

我正在Django中创建一个Web应用程序。我想在我的模型中使用自定义id字段,我知道uuid模块。问题是我不知道在哪里放这个逻辑。我不想使用Django的AutoField。我希望它是这样的,如果输入一行,那么这个id字段必须是自定义而不是AutoField。我想到的一个愚蠢的想法是在使用我的自定义ID插入行后更改id字段。任何人都可以帮我解决这个问题。任何帮助都非常感谢。

1 个答案:

答案 0 :(得分:7)

https://docs.djangoproject.com/en/1.9/topics/db/models/#automatic-primary-key-fields

  

如果您想指定自定义主键,请指定   其中一个字段的primary_key = True。如果Django看到你了   显式设置Field.primary_key,它不会添加自动id   列。

所以你想要(来自https://docs.djangoproject.com/es/1.9/ref/models/fields/#django.db.models.UUIDField

import uuid
from django.db import models

class MyUUIDModel(models.Model):
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    # other fields

您不必为我认为的字段id命名。