【问题标题】:how to delete tastypie model resource index如何删除tastepie模型资源索引
【发布时间】:2013-05-15 11:21:24
【问题描述】:

我正在使用 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://mydomain.com/api/v1/Address/2/ 执行 HTTP DELETE 删除,当我发布资源的新帖子时,资源 uri 的 id 仍会根据最后一个索引递增。

示例:我有 30 个地址资源,我将它们全部删除,当我发布新资源的新帖子时,资源 uri 是 /api/v1/Address/31/ 而不是 1。

删除资源后如何删除索引?

提前致谢 维克多

【问题讨论】:

    标签: python django api tastypie


    【解决方案1】:

    如果您使用自动增量字段,这是不可能的,这是 django 的默认主键字段。要执行您想要的操作,您需要使用 primary_key=True 属性为主键指定您自己的字段。当你创建一个新的模型实例时,你需要手动将它设置为你想要的。

    【讨论】:

      猜你喜欢
      • 2023-04-09
      • 2018-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-24
      • 2020-12-23
      相关资源
      最近更新 更多