python - 断言错误: `base_name` argument not specified

标签 python django django-rest-framework django-views

我正在尝试将模型的参数添加到 URL 模式中,如下所示:

http://111.111.11.111:8080/resultados/image.jpg

其中nome_ficheiro = image.jpg(nome_ficheiro 是模型参数,见下文)

但我收到以下错误:

 File "/usr/local/lib/python2.7/dist-packages/rest_framework/routers.py", line 139, in get_default_base_name
    assert queryset is not None, '`base_name` argument not specified, and could ' \
AssertionError: `base_name` argument not specified, and could not automatically determine the name from the viewset, as it does not have a `.queryset` attribute.

URL 模式:

    router = routers.DefaultRouter()
    urlpatterns = [url(r'^', include(router.urls))]
    router.register(r'resultados/(?P<nome_ficheiro>.+)/$',resultUploadView.as_view({'get': 'get_queryset'}))

View :

class resultUploadView(generics.ListAPIView):
    serializer_class = resultSerializer
    def get_queryset(self):
        nome = self.kwargs['nome_ficheiro']
        return labelResult.objects.filter(nome_ficheiro=nome)

型号:

 class labelResult(models.Model):
    nome_ficheiro   = models.CharField(max_length=120)
    especie         = models.CharField(max_length=120)
    zona            = models.CharField(max_length=120)
    data            = models.CharField(max_length=120)

使用:Python 2.7.12 和 DRF 3.6.3

编辑:

url.py:

router.register(r'results/(?P<nome_ficheiro>.+)/$', resultUploadView.as_view({'get': 'get_queryset'}), base_name='img_name')

仍然无法工作,出现同样的错误

最佳答案

您可以在添加路线时为其命名:

router.register(
    r'the-url_pattern$',
    TheViewSet,
    base_name='put-something-here',
)

顺便说一句,同时指定 queryset 类属性和 get_queryset 方法很奇怪,这可能是令 DRF 感到困惑的地方。选择一种方式或另一种方式。

关于python - 断言错误: `base_name` argument not specified,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49157120/

相关文章:

python - 如何找到与其他 2 个字符串相似的字符串(就 Levenshtein 距离而言)?

mysql - OperationalError : (1054, "Unknown column ' time_table.id' in 'field list' ")

python - 如何使用 boto 检查 AWS 中的根帐户是否启用了 MFA?

javascript - 如何使用 jQuery 将 json 结果放入输入值中?

django - 在 Django 中使用 markdown :"safe"会出现语法错误

python - 不良的Django/uwsgi性能

python - Django api调用以保存用户模型的外键

Django:显示用户名而不是 ID,如何?

python - 使用线程将 stdout 重定向到 Tkinter 文本小部件的问题

python - Django 和 PostgreSQL "No Fixtures Found"