2012-05-10 94 views
0

考慮這些僞模式:Tastypie與ImageKit關係

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>]", 
     } 
    ] 

} 

Offcourse這是相當無用的,我只需要列出實例的一些屬性。這是唯一可能與脫水的方法:

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 

回答

1

你嘗試定義您的ProductImage unicode的定義,所以它打印的,而不是你想要的屬性,「ProductImage:ProductImage對象」?

+0

是的,我已經嘗試過,它的工作原理它顯示的路徑,但你仍然可以得到的括號和類名稱的貢獻。我只會使用脫水方法:-) –