2016-04-30 6 views
1
私はギャラリーAPIの詳細ビューに複数の画像を表示する必要が

が、私はでMultipleObjectsReturnedで/ API /レンタル/ギャラリー/ 1/

MultipleObjectsReturnedを示すエラーを取得しています/ API /レンタル/ギャラリー/ 1/

get()は複数のギャラリーを返しました - それは2を返しました! SHOUモデルフィールド -

views.py

class GalleryListAPIView(ListAPIView): 
    # queryset = Rental.objects.all() 
    serializer_class = GalleryListSerializer 
    pagination_class = RentalPageNumberPagination 

    def get_queryset(self, *args, **kwargs): 
     queryset_list = Gallery.objects.all() 
     return queryset_list 

class GalleryDetailAPIView(RetrieveAPIView): 
    queryset = Gallery.objects.all() 
    serializer_class = GalleryDetailSerializer 
    lookup_field = 'rental_id' 

serializers.py

class GalleryListSerializer(ModelSerializer): 
    class Meta: 
     model = Gallery 

class GalleryDetailSerializer(ModelSerializer): 
    # image = SerializerMethodField(many=True) 
    class Meta: 
     model = Gallery 
     fields = ('id', 'image', 'rental_id') 
+2

エラーが示すように、2つのギャラリーオブジェクトはrental_id = 1です。 –

+0

モデルを追加してください。 – trinchet

答えて

1

documentation

lookup_fieldを見てください各モデルインスタンスのオブジェクト検索を実行するために使用される。デフォルトは'pk'です。あなたがrental_idを使用していると、あなたがここに1 URL /api/rentals/gallery/1/を使用しているので

rental_idなくギャラリーのpkです。そして、それはrental_id=1に関連する2つのギャラリーオブジェクトがあるかもしれない、そして、それは結果にそれらを得る理由です。

関連する問題