次の疑似モデルを検討してください。
class Product:
name = charfield
class ProductImage:
image = foreignKey(Product)
そして、このリソース
class ProductResource(ModelResource):
images = fields.RelatedField('path.to.resources.ProductImageResource', 'images__all', full=True)
class Meta:
queryset = Product.objects.all()
resource_name = 'products'
返される JSON は次のとおりです。
{
"meta": { ... },
"objects": [
{
"name": "Test",
"images": "[<ProductImage: ProductImage object>, <ProductImage: ProductImage object>]",
}
]
}
もちろん、これはかなり役に立たないので、インスタンスの属性をリストする必要があるだけです。これは、脱水アプローチでのみ可能ですか:
def dehydrate(self, bundle):
bundle.data['images'] = list()
for x in ProductImage.objects.filter(base_product__id=bundle.data['id']):
bundle.data['images'].append(x.thumbnail)
return bundle