簡體   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