繁体   English   中英

在Django Rest Framework中填充唯一ID

[英]Populate unique ID in Django Rest Framework

我正在尝试使动物类中的ID唯一,以便它自动递增而无需用户将数据添加到文件区中(因此文件区是隐藏的),但是我不知道该怎么做。

现在我的models.py有这个:

 class Animal(models.Model):
    id = models.CharField(max_length=100, blank=True, unique=True, default=uuid.uuid4, primary_key=True)
    name = models.CharField(max_length=200)

我认为哪一个必须使id唯一,但目前它什么也没做。

这是我的serialisers.py供参考:

class AnimalSerialiser(serializers.HyperlinkedModelSerializer):

    doctor = DoctorSerealiser(read_only=True)


    class Meta:
        model = Animal
        fields = ('id' , 'name' , 'gender' , 'breed' , 'adoption' , 'vaccines', 'doctor')

正如其他人在评论中提到的那样,您定义的模型错误。 Django默认会添加一个自动递增的字段。 看看docs了解更多信息-https: //docs.djangoproject.com/en/1.9/topics/db/models/#automatic-primary-key-fields

您真的只需要:

class Animal(models.Model):
    name = models.CharField(max_length=200)

然后您仍然可以访问该字段,例如animal.id

UUID与自动递增ID完全不同。 查看维基 -它们基本上只是字符串,几乎不可能生成它们的重复项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM