2013-05-15 16 views
0

我正在使用django-tastypie實施休息api。我的API資源的定義如下:如何刪除tastypie模型資源索引

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://mydomain.com/api/v1/Address/2/的HTTP DELETE,當我做一個資源的新帖子時,資源URI的ID仍然基於最後一個索引遞增。

例子:我有30個地址資源,我刪除了所有的人,當我做了新的資源的資源URI /是/ API/V1 /地址/ 31,而不是一個新的職位1.

如何刪除資源時可以刪除索引嗎?

在此先感謝 維克多

回答

0

那不可能的,如果你正在使用自動增量領域,這是Django的默認primare重點領域。要做你想做的事情,你需要使用primary_key = True屬性來爲你的主鍵指定你自己的字段。當你創建一個新的模型實例時,你將需要手動將它設置爲你想要的。