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