gpt4 book ai didi

django - 为两个使用相同模型的不同 View 集注册一个路由

转载 作者:行者123 更新时间:2023-12-05 04:10:38 25 4
gpt4 key购买 nike

我正在使用 Django REST 框架,并且我有这样的配置:

router.register(r'foo', FooViewSet)
router.register(r'foo-mini', MinFooViewSet)

FooViewSetMinFooViewSet 完全相同(“min”hones 继承自前者),使用相同的 queryset 但只需更改 serializer_class.

MinFooViewSet 使用的序列化程序类从同一模型返回更少的字段。

我有一个奇怪的行为(可能是标准的,但我不明白):似乎每个模型我只能有一条路线。事实上,生成的 API 索引如下所示:

"foo": "http://localhost:8001/api/v1/foo-mini",
"foo-mini": "http://localhost:8001/api/v1/foo-mini",

所以两个端点都指向同一个 URL,使用最后一个 (MinFooViewSet) 配置。

我错过了什么?

最佳答案

使用 base_name='something'

router.register(r'foo', FooViewSet,base_name='foo')
router.register(r'foo-mini', MinFooViewSet,base_name='foo_mini')

关于django - 为两个使用相同模型的不同 View 集注册一个路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44177664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com