2016-12-02 68 views
0

我要建立我在Django 1.8應用程序的API部分(Django的REST框架),我想進入場中通過ForeignKey的另一種模式,但我得到一個錯誤訪問領域的另一個模型。通過ForeignKey的Django的休息

我的代碼(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

它的工作原理,謝謝:) –