我有一个像下面这样的模型。
class Checklist(models.Model):
name = models.CharField(max_length=50, default="mylist")
items = JSONField(default=get_default_checklist)
user = models.ForeignKey(User, related_name='checklists')
对于给定的 Checklist.id,我只想获取items
字段,因此我为它创建了一个资源。
class ChecklistItemsResource(ModelResource):
def dehydrate_items(self, bundle):
return json.dumps(bundle.obj.items, ensure_ascii=False)
class Meta:
queryset = models.Checklist.objects.all()
resource_name = 'checklist_items'
fields = ['items']
我得到 url /api/v1/checklist_items/8/?format=json
id=8 的数据实际上是checklist的 id 而不是checklist.items的 id 。
- 编辑 -
我认为/api/v1/checklist/8/items/
看起来比/api/v1/checklist_items/8/
.
表示items
清单(id = 8)的字段。
如何创建资源/url 来获取/更新模型的特定字段?