2014-02-13 6 views
0

У меня есть следующие модели:Джанго Restframework, передне отношения сериализации

class GO_BIDS(models.Model): 

    GO = models.ForeignKey(GO_PROFILE) 
    GO_money = models.CharField() 
    GO_currency = models.CharField() 

class GO_PROFILE(models.Model): 

    User = models.ForeignKey(User) 
    Name = models.CharField() 
    Photo = models.CharField() 
    Phone = models.CharField() 

Мой сериализаторы выглядит следующим образом:

class GO_PROFILESerializer(serializers.ModelSerializer): 

    class Meta: 
     model = GO_PROFILE 
     fields = ('Name', 'Photo') 


class GO_BIDSSerializer(serializers.ModelSerializer): 

    gprofile = GO_PROFILESerializer(required=True) 

    class Meta: 
     model = GO_BIDS 
     fields = ('id','GO_money','GO_currency','gprofile') 

Я хотел бы получить какую-то следующую структуру:

"GO_BIDS": [ 
      { 
       "id": 3, 
       "GO": { 
        "Name": "Steve", 
        "Photo": "myphoto.png", 
       }, 
       "GO_money": "12.00", 
       "GO_currency": "USD", 
     }] 

Я продолжаю получать объект GO_BIDS без атрибута 'gprofile'. Любая идея?

Благодаря

ответ

0

Похоже, вы хотите Nested Relationship. Ваша модель GO_BIDS не имеет атрибута gprofile. Попробуйте это вместо:

class GO_BIDSSerializer(serializers.ModelSerializer): 
    GO = GO_PROFILESerializer() 

    class Meta: 
     model = GO_BIDS 
     fields = ('id','GO_money','GO_currency','GO') 
+0

Спасибо, я получаю объект «GO_PROFILE», не является итерабельным – user3193043

+0

OK SOLVED! мне пришлось вычесть много = ИСТИНА – user3193043

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