2016-04-08 11 views
-1

Hallo i django-Modell mit folgendem Inhalt habe und ich versuche, es zu serialisieren:Wie verschachtelte viele bis viele Relationen im Django-Rest-Framework serialisiert werden?

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

nach Serialisierung i Json folgenden erhalten:

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

Danach, ich versuche, es in Vorlage zu setzen:

<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> 

Mein Produkt Serializer Klasse:

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') 

Und ich bekomme nichts auf meiner Seite. Helfen Sie mir pls, ich habe keine Ideen, wie es zu beheben

+0

Es gibt nicht genügend Informationen, um Ihnen zu helfen – dkarchmer

Antwort

0

antworte ich es selbst, ist dieser Moment tatsächlich in der Dokumentation beschrieben, nur um unsere Serializer Klasse hinzufügen müssen Tiefeneinstellungen Es ist wie folgt aussieht:

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 
Verwandte Themen