2016-12-02 11 views
0

私はdjango 1.8(django restフレームワーク)で私のアプリケーションのapi部分をビルドしたいのですが、ForeignKey経由で別のモデルのフィールドにアクセスしたいのですが、 。別のモデルのフィールドへのdjango restのForeignKey経由でのアクセス

私のコード(models.py):

class Event(models.Model): 
... 
is_date_end_confirmed = models.BooleanField(default=True) 
room = models.ForeignKey('events.Room', related_name='bookings') 
room_description = models.CharField(max_length=255) 
... 

serializers.py

class BoxSerializer(serializers.ModelSerializer): 
    room = serializers.PrimaryKeyRelatedField(many=True, read_only=True) 

    class Meta: 
     model = Evnet 
     fields = ('id', 'date_start', 'room') 

そして、私は型エラーを取得する:あなたが参照され、別のフィールドにアクセスすることができシリアライザを使用して'Room' object is not iterable

答えて

2

外字で行うことによって:

class BoxSerializer(serializers.ModelSerializer): 
    field_in_room = serializers.ReadOnlyField(source='room.field_in_room') 

    class Meta: 
     model = Event 
     ... 
+1

これは、ありがとう:) –

関連する問題