2016-04-08 61 views
-1

嗨,我有以下内容的Django模型和我尝试序列化:如何在django-rest-framework中嵌套多重关系?

class Product(models.Model): 
    recommended = models.ManyToManyField('self') 

系列化之后我获得以下JSON:

"recommended": [ 
    2, 
    3, 
    1, 
    38, 
    39, 
    40, 
], 

在此之后,我尝试将其设置在模板:

<div class="catalog-item" ng-repeat="recommended in product.recommended"> 
        <div class="item-img"> 
         <a href=""><img src="{{recommended.picture.external_img_url}}" alt=""></a> 
        </div> 
        <a href="#" class="item-title">{{ recommended.title }}</a> 
        <div class="item-price"> 
         <div class="price-old">{{ recommended.oldprice }}</div> 
         <b>{{ recommended.price }}</b> 
        </div> 
        </div> 
       </div> 

我的产品序列化器类:

class ProductSerializer(serializers.ModelSerializer): 

    picture = ImageSerializer(read_only=True) 
    vendor = VendorSerializer() 

    class Meta: 
      model = Product 

      fields = (
       'name', 'external_url', 'category', 'description', 'price', 'old_price', 'discount', 'discount_percent', 
       'popularity', 'order', 'click_count', 'redirect_count', 'visible', 'colors', 'sizes', 'currencies', 
       'picture', 'country_of_origin', 'manufacturer_warranty', 'vendor','recommended','id') 

而我在我的页面上什么都没有。帮我请,我没有想法如何解决它

+0

没有足够的信息来帮助您 – dkarchmer

回答

0

我回答我自己,这一刻的文档中实际描述,只是为了我们的序列化器类需要增加深度设置 它看起来是这样的:

class ProductSerializer(serializers.ModelSerializer): 

picture = ImageSerializer(read_only=True) 
vendor = VendorSerializer() 

class Meta: 
     model = Product 

     fields = (
      'name', 'external_url', 'category', 'description', 'price', 'old_price', 'discount', 'discount_percent', 
      'popularity', 'order', 'click_count', 'redirect_count', 'visible', 'colors', 'sizes', 'currencies', 
      'picture', 'country_of_origin', 'manufacturer_warranty', 'vendor','recommended','id') 

     depth = 2