2012-05-10 1 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, поэтому он печатает атрибут вы хотите, вместо «ProductImage: объект ProductImage»?

+0

Да, я пробовал это, и он работает в состоянии, он показывает пути, однако вы по-прежнему получаете скобки и имя класса. Я просто использую метод обезвоживания :-) –

 Смежные вопросы

  • Нет связанных вопросов^_^