2016-01-31 59 views
0

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

+0

你能否提供一个你想要你的ID值是什么的例子?谢谢。 – alecxe

+0

对于用户模型,我想用id作为用户+随机生成的密钥。例如,X用户标识应该是“user12djghdhgdbxbfhdty”。这很容易识别出这个ID是给用户的,并且足够大以允许足够的用户。 – user2719152

回答

2

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

如果你想指定自定义主键,只需指定 primary_key =你的领域之一真。如果Django看到你已经明确设置了Field.primary_key,它将不会添加自动标识 列。

所以,你要(从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我想。

+0

不完全是我想要的,但仍然非常接近。谢谢! – user2719152

相关问题