我正在使用django-tastypie实现rest api。我的api资源定义如下:
class AddressResource(ModelResource):
class Meta:
resource_name = 'address'
queryset = Address.objects.all()
always_return_data = True
authorization = Authorization()
serializer = Serializer(formats=['json'])
validation = Validation()我有一个模型地址定义为:
class Address(models.Model):
number = models.IntegerField()
street = models.CharField(max_length=100)
city = models.CharField(max_length=100)
country = models.CharField(max_length=25)
postalCode = models.CharField(max_length=5)我可以创建地址资源发布到url http://mydomain.com/api/v1/Address/。创建地址资源后,资源uri为/api/v1/Address/1/..../api/v1/Address/2/....etc
如果我直接从模型数据库中删除资源,或者通过HTTP删除资源http://mydomain.com/api/v1/Address/2/,当我对资源执行新的post时,资源uri的id仍然基于最后一个索引递增。
例如:我有30个地址资源,我删除了所有这些资源,当我对一个新资源进行新的发布时,资源uri是/api/v1/ address /31/而不是1。
删除资源后,如何删除索引?
提前感谢维克多
发布于 2013-05-15 19:43:22
如果你使用的是自动增量字段,这是不可能的,这是django的默认primare key字段。要做你想做的事情,你需要使用primary_key=True属性为primare key指定你自己的字段。在创建新的模型实例时,您需要手动将其设置为您想要的内容。
https://stackoverflow.com/questions/16563701
复制相似问题