按照sweetpie 食谱中的说明,我将用于访问我的“作业”模型的 URL 更改为由 UUID 而不是 PK 引用:
class JobResource(ModelResource):
owner = fields.ForeignKey('job.api.UserResource', 'user')
inputs = fields.ManyToManyField('job.api.JobInputResource', 'inputs', full=True)
outputs = fields.ManyToManyField('job.api.JobOutputResource', 'outputs', full=True)
class Meta:
queryset = Job.objects.all()
def prepend_urls(self):
return [
url(r"^(?P<resource_name>%s)/(?P<guid>[\w\d_.-]+)/$" % self._meta.resource_name, self.wrap_view('dispatch_detail'), name="api_dispatch_detail"),
]
但是,resource_uri
相关输入和对象中的 并未反映此更改,仍然引用 PK 来源的 URL。发现这个问题和一个相应的解决提交 (1367d7a45587b2af9969d16c3c641a255a8d5b8e) 似乎与我的困境直接相关,但无法找到 doc re: how to actually get the resource_uri
s to change。