Django rest api проблема: должен либо включать атрибут `querylist`, либо переопределять метод` get_querylist () ` - PullRequest
1 голос
/ 29 мая 2019

Это мой сериализатор класса:

class JlistSerializers(serializers.ModelSerializer):
    class Meta:
        model = Jlist
        fields = ('id', 'name', 'news_channel', 'wiki', 'image', 'total_star', 'total_user')

Это мои взгляды

class JlistView(ObjectMultipleModelAPIView):
    queryset = Jlist.objects.all()

    def get_queryset(self, *args, **kwargs):
        userId = self.kwargs.get('pk')
        queryset = [
            {'queryset': Jlist.objects.all(),
             'serializer_class': JlistSerializers},
            {'queryset': JStarList.objects.filter(userId=userId),
             'serializer_class': JStarList}
        ]
        return queryset

Я получаю следующее сообщение об ошибке

AssertionError at /api/jlist
JlistView should either include a `querylist` attribute, or override the `get_querylist()` method.

Я использовал то же самоекод для создания API для другого класса сериализатора, но получаю ошибку при создании этого API. Пожалуйста, помогите мне выяснить, в чем здесь проблема?

1 Ответ

2 голосов
/ 29 мая 2019

Вы определили get_queryset, но это должен быть get_querylist. И удалите член набора запросов тоже.

class JlistView(ObjectMultipleModelAPIView):

    def get_querylist(self, *args, **kwargs):
        userId = self.kwargs.get('pk')
        queryset = [
            {'queryset': Jlist.objects.all(),
             'serializer_class': JlistSerializers},
            {'queryset': JStarList.objects.filter(userId=userId),
             'serializer_class': JStarList}
        ]
        return queryset
...