【发布时间】:2020-10-28 11:30:18
【问题描述】:
views.py
class SearchTodo(viewsets.ModelViewSet):
serializer_class = todoserializer
def get_queryset(self):
status = self.kwargs["status"]
return JsonResponse({"data":Todo.objects.filter(status=status)}, content_type='application/json')
urls.py 用于 rest 框架
router = routers.DefaultRouter()
router.register(r"^todo/(?P<status>\w+)$",views.SearchTodo,"SearchTodo")
router.register(r"todo",views.todoview,"todor")
urlpatterns = [
path('admin/', admin.site.urls),
path("api/",include(router.urls))
]
状态为 True 的过滤器对象的 Axios 代码
const data = () => {
axios
.get(`http://127.0.0.1:8000/api/todo/True`)
.then((res) => settasks(res.data))
.catch((error) => alert(error.message));
};
但是每当这个函数运行时,我都会收到一个 404 bad request 错误,我错了。
【问题讨论】:
-
get_queryset(...)应该返回一个QuerySet对象。除了QuerySet对象之外的任何东西迟早都会引发错误 -
@ArakkalAbu 但它说找不到 URL,而不是我可以按照您的建议过滤对象
标签: reactjs django django-rest-framework axios