0

私はわかりやすくするためにもう一度ここで、タイトルに誤りで想定しています「CityListViewSet」のいずれか `get_serializer_classを` serializer_class`属性を含める、またはオーバーライドする必要があります() `メソッド

'CityListViewSet' should either include a `serializer_class` attribute, 
or override the `get_serializer_class()` method. 

その私のシリアライザISN私のコードにはそれがあるべきである私のビューに接続されていません。私はこのバグがどこにあるのかは分かりません。あなたの誰かが似たようなことを見たことがありますか?

ここにコードがあります。

ルータ:

router.register(r'city-list', CityListViewSet, base_name='city-list') 

ビュー:

class CityListViewSet(viewsets.ReadOnlyModelViewSet):     
    queryset = Venue.objects.values('city').distinct() 
    serializer = CitySerializer(queryset, many=True) 
    ordering_fields = ('city',) 
    ordering = ('city',) 

シリアライザ:

class CitySerializer(serializers.ModelSerializer):  
class Meta: 
    model = City 
    fields =('city',) 

それは上品正しく有線コードで、このようなアサーションエラーの原因になることは何ですか?

答えて

0

例外はそれ自体を言います。 serializer_class属性が必要です。あなたはserializerです。

+1

私はあなたがドキュメントで言ったことを確認しました。あなたの右の私の悪いあなたに感謝します。 –

+0

これは、 '' ListSerializer 'オブジェクトは呼び出し可能ではありません '現在それを研究している新しい問題をもたらしました –

+0

興味深い。それが関連していると確信していますか?これは、コード例のどこにでもListSerializerを使用していないためです。 –

関連する問題