- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何将 ListCreateAPIView 添加到路由器 url?
通常我喜欢:
router = routers.DefaultRouter()
router.register(r'busses', BusViewSet)
class CarList(generics.ListCreateAPIView): ...
urlpatterns = patterns('',
url(r'^carts/', CarList.as_view(model=Car), name='cars'),
最佳答案
原因是为什么一个 ViewSet
类与路由器一起工作是 GenericViewSet
其中有一个 ViewSetMixin
在一个基地。ViewSetMixin
覆盖 as_view()
方法,以便它需要一个 actions
将 HTTP 方法绑定(bind)到资源和路由器上的操作的关键字可以为操作方法构建映射。
您可以通过在类库中简单地添加该 mixin 来解决它:
from rest_framework.viewsets import ViewSetMixin
class CarList(ViewSetMixin, generics.ListCreateAPIView)
....
ListCreateAPIView
和
ModelViewSet
它只是一个空类,在一个基础中有一堆混入。所以你总是可以建立你自己的
ViewSet
用你需要的方法。
ListCreateAPIView
:
class ListCreateAPIView(mixins.ListModelMixin,
mixins.CreateModelMixin,
GenericAPIView):
def get(self, request, *args, **kwargs):
return self.list(request, *args, **kwargs)
def post(self, request, *args, **kwargs):
return self.create(request, *args, **kwargs)
ModelViewSet
:
class ModelViewSet(mixins.CreateModelMixin,
mixins.RetrieveModelMixin,
mixins.UpdateModelMixin,
mixins.DestroyModelMixin,
mixins.ListModelMixin,
GenericViewSet):
pass
ListModelMixin
和
CreateModelMixin
GenericViewSet
中只有区别和
GenericAPIView
.
GenericAPIView
使用方法名称并在其中调用操作。
GenericViewSet
而是使用 Action 并将它们映射到方法。
ViewSet
使用您需要的方法:
class ListCreateViewSet(mixins.ListModelMixin,
mixins.CreateModelMixin,
GenericViewSet):
queryset_class = ..
serializer_class = ..
list
和
create
如果您需要特殊行为,请使用方法。
关于django - 将 ListCreateAPIView 类添加到路由器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28472317/
如何将 ListCreateAPIView 添加到路由器 url? 通常我喜欢: router = routers.DefaultRouter() router.register(r'busses',
我正在尝试使用 Django 的 ListCreateAPIView 创建一个带有外键的新对象。对外键的引用在 url 中。我尝试使用 lookup_url_kwarg 但是当我发送一个 json 时
如果我可能有错误的代码,我很抱歉,但我并没有真正做太多的 django 休息。我想检测 django 内置用户模型的权限。我向用户模型添加了权限,但由于某种原因 has_perm 不起作用。我改为使用
我有一个包含一些 query_params 的 URL,并且我在这个 URL 上应用了分页。 urls.py url(r'^users/(?P[0-9]+)/workouts/get/$',
以上两种方法有什么区别? 我不明白它们是如何工作的,我确实尝试过谷歌搜索、文档、StackOverflow、中等文章,但我不明白它们的工作原理。 ListCreateAPIView是否会按照列表的长度
我已经尝试了将近一整天的时间来解决这个问题,但我似乎无法弄清楚为什么 has_object_permission method ListCreateAPIView 时不调用在 DRF 中被调用.我已经
使用 Django REST 框架的通用 ListCreateAPIView ,我创建了一个端点,我认为它应该能够通过 POST 请求上传照片。我正在为我的代码建模 this tutorial . 到
我正在创建一个 API,它将返回付款期和费用报告。我有一个存储所有必要信息的工作订单模型,并且我在项目中创建了一个报告应用程序,它使用 SerializerMethodField 返回我需要的计算。我
如何使用 Django REST Framework 获取在 url 中分配的外键? class CommentList(generics.ListCreateAPIView): serial
我有一个PageSerializer继承自 DynamicFieldsModelSerializer我从文档(http://django-rest-framework.org/api-guide/se
我想知道如何获得可以处理模型所有操作的单点。以及为什么 Django RESTFramework 首先没有可用的泛型?我认为它在其他框架中很常见。 class ItemView(ListCreateA
我是一名优秀的程序员,十分优秀!