以下のようなモデルがあります。
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')
items
特定の Checklist.id に対して、フィールドのみ を取得したいので、そのためのリソースを作成しました。
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.itemsのID ではなく、チェックリストの ID です。
- 編集 -
/api/v1/checklist/8/items/
より見栄えが良いと思います/api/v1/checklist_items/8/
。
チェックリストのフィールドを表すitems
(id=8)。
モデルの特定のフィールドを取得/更新するためのリソース/URL をどのように作成しますか?