【问题标题】:django REST framework error: cannot import name 'PaginationSerializer'django REST 框架错误:无法导入名称“PaginationSerializer”
【发布时间】:2015-10-08 14:43:07
【问题描述】:

我的 django 框架在导入“PaginationSerializer”时抛出错误。知道可能出了什么问题吗?请在引发错误的行下方找到。我正在使用 django REST framework 3.1 版本。

    from rest_framework.pagination import PaginationSerializer

下面是错误输出。

    ImportError at /

    cannot import name 'PaginationSerializer'

    Request Method:     GET
    Request URL:    http://127.0.0.1:3434/
    Django Version:     1.8.2
    Exception Type:     ImportError
    Exception Value:    cannot import name 'PaginationSerializer'
    Exception Location:     /home/djangoDevelopment/test.git/rest_peace/urls.py in <module>, line 9
    Python Executable:  /home/pulak/djangoDevelopment/django-test.git/djenv/bin/python
    Python Version:     3.4.3

【问题讨论】:

  • 您是否在设置中将rest_framework 添加到INSTALLED_APPS
  • 是的,当然。其他进口例如路由器,序列化器工作正常!!
  • 你用的是哪个版本?
  • 我使用的是 REST framework 版本 3.1。
  • PaginationSerializer 在 DRF 3.1 版本中被删除。

标签: django django-rest-framework


【解决方案1】:

PaginationSerializer 在 DRF 3.1 版本中被删除。分页 API 进行了大量更改,使其更易于使用且功能更强大。

现在,您需要覆盖 get_paginated_response() 函数,而不是使用 PaginationSerializer

根据 DRF 3.1 中 Pagination API 中宣布的 changes

pagination_serializer_class 视图属性和 DEFAULT_PAGINATION_SERIALIZER_CLASS 设置键不再有效。 分页 API 不使用序列化程序来确定输出 格式,您需要改写 get_paginated_response 分页类上的方法,以指定如何输出格式 被控制了。

【讨论】:

    【解决方案2】:

    我想我找到了问题所在。使用 REST framework v3.1 打破了分页。该问题在以下链接中得到解决。万一以后有人遇到这种麻烦:Django Rest Framework 3.1 breaks pagination.PaginationSerializer

    【讨论】:

      猜你喜欢
      • 2020-10-13
      • 1970-01-01
      • 2019-09-16
      • 2023-03-18
      • 2017-07-17
      • 2016-10-27
      • 1970-01-01
      • 1970-01-01
      • 2017-08-11
      相关资源
      最近更新 更多