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