[英]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.