2013-05-15 2 views
0

Я реализую rest api, используя django-tastypie. Мой апи ресурс определяется следующим образом:Как удалить 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 DELETE ресурса http://mydomain.com/api/v1/Address/2/, когда я делаю новое сообщение ресурса, идентификатор ресурса uri все еще увеличивается на основе последнего индекса.

Пример: У меня есть 30 адресов ресурсов, и я удалить их все, когда я делаю новый пост нового ресурса ресурс Ури/API/v1/Адрес/31/вместо 1.

Как Можно ли удалить индекс при удалении ресурса?

Заранее спасибо Виктор

ответ

0

Thats не представляется возможным, если вы используете автоинкрементного поле, которое Primare по умолчанию ключевое поле для Джанго. Чтобы сделать то, что вам нужно, вам нужно указать собственное поле для ключа primare, используя атрибут primary_key = True. При создании нового экземпляра модели вам нужно будет установить его вручную.

Смежные вопросы