2016-04-08 63 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