ответ = супер (). список (запрос, аргументы, kwargs) объяснение - PullRequest
0 голосов
/ 11 января 2020

Я читаю кодовую базу того места, где я работаю, и в одном из views.py я вижу эту строку. Вот код.

class CreditPLansView(mixins.ListModelMixin, viewsets.GenericViewSet):
  serializer_class = CreditPlansSerializer
  permission_classes = [IsAuthenticated]

  def get_queryset(self):
        return CreditPlans.objects.all()

  def list(self,request, *args, **kwargs) :
      from hospital.models import ProvidersDiscounts
      response = super().list(request, args, kwargs)
      print("response is", response.data)

и вот значение ответа.

response is [OrderedDict([('plan_id', 1), ('plan_name', 'Tenure1'), ('months', 3), ('interest', 25)]), OrderedDict([('plan_id', 2), ('plan_name', 'Tenure2'), ('months', 6), ('interest', 25)]), OrderedDict([('plan_id', 3), ('plan_name', 'Tenure3'), ('months', 12), ('interest', 25)])]

Мне нужно объяснение, что такое super (). List (request, args, kwargs) ) делает и откуда эти данные приходят. Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 11 января 2020

Ваш CreditPLansView является подклассом mixins.ListModelMixin, а ваш list метод является переопределенной версией mixins.ListModelMixin list метода.

В mixins.ListModelMixin метод list возвращает HTTP-ответ. Так что в вашем коде автор не хотел возвращать ответ, а вместо этого печатал вывод.

...