Django CreateModelMixin TypeError:\uuuuu init\uuuuu()接受1个位置参数,但提供了2个

Django CreateModelMixin TypeError:\uuuuu init\uuuuu()接受1个位置参数,但提供了2个,django,django-rest-framework,django-rest-viewsets,Django,Django Rest Framework,Django Rest Viewsets,我试图在一个2列的表中插入一个新行,其中一列引用经过身份验证的用户(模型通过FK引用用户模型),另一列是通过url传递的变量 url.py url('^(?P<update>-?\d+.?\d+)/$', views.UpdateViewSet) 回溯 File "\Backend\env\lib\site-packages\django\core\handlers\exception.py", line 34, in inner response = get_resp

我试图在一个2列的表中插入一个新行,其中一列引用经过身份验证的用户(模型通过FK引用用户模型),另一列是通过url传递的变量

url.py


url('^(?P<update>-?\d+.?\d+)/$', views.UpdateViewSet)
回溯

 File "\Backend\env\lib\site-packages\django\core\handlers\exception.py", line 34, in inner
    response = get_response(request)
  File "\Backend\env\lib\site-packages\django\core\handlers\base.py", line 115, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "\Backend\env\lib\site-packages\django\core\handlers\base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
TypeError: __init__() takes 1 positional argument but 2 were given
既然你正在使用,你应该打电话给我

url(“^(?P-?\d+。?\d+/$”,views.UpdateViewSet.as_view({“post”:“create”}))

更新-1 更改您的视图,如下所示:

from rest_framework.response import Response


class UpdateViewSet(mixins.CreateModelMixin, viewsets.GenericViewSet):
    permission_classes = (IsAuthenticated,)
    serializer_class = serializers.UpdateSerializer

    def create(self, request, *args, **kwargs):
        update_instance = Update.objects.create(user=request.user, update=self.kwargs['update'])
        return Response(self.get_serializer(update_instance).data)
来自rest\u framework.response导入响应
类UpdateViewSet(mixins.CreateModelMixin,viewset.GenericViewSet):
权限\类=(已验证,)
serializer\u class=serializers.UpdateSerializer
def创建(self、request、*args、**kwargs):
update\u instance=update.objects.create(user=request.user,update=self.kwargs['update'])

返回响应(self.get\u serializer(update\u instance.data)
我认为您错误地配置了url,请执行以下操作:

from rest_framework.routers import DefaultRouter

router = DefaultRouter()
router.register(r'update', views.UpdateViewSet, basename='update')
urlpatterns = router.urls

url(r'^(?P-?\d+。?\d+/$,views.UpdateViewSet.as_视图(actions={'post':'create'}))

您可以添加完整的错误回溯吗?使用回溯编辑它可能会帮助您键入错误:create()缺少1个必需的位置参数:“request”我也修复了这一问题,现在我看到了TypeError:create()缺少1个必需的位置参数:“request”您试图如何处理
self.create(user=self.request.user,update=update)
代码行?你能澄清一下吗?更新模型有两个字段,一个是用户模型的FK,另一个是更新值。我正在尝试插入具有已验证用户和更新值的记录。您可以添加该模型吗?
url('^(?P<update>-?\d+.?\d+)/$', views.UpdateViewSet.as_view({"post":"create"}))
from rest_framework.response import Response


class UpdateViewSet(mixins.CreateModelMixin, viewsets.GenericViewSet):
    permission_classes = (IsAuthenticated,)
    serializer_class = serializers.UpdateSerializer

    def create(self, request, *args, **kwargs):
        update_instance = Update.objects.create(user=request.user, update=self.kwargs['update'])
        return Response(self.get_serializer(update_instance).data)
from rest_framework.routers import DefaultRouter

router = DefaultRouter()
router.register(r'update', views.UpdateViewSet, basename='update')
urlpatterns = router.urls
 url(r'^(?P<update>-?\d+.?\d+)/$', views.UpdateViewSet.as_view(actions={'post': 'create'}))