Django create user Прямое назначение на прямую сторону множества "многие-ко-многим" запрещено. Вместо этого используйте groups.set()

Я использую стандартную модель Django User для регистрации пользователей. Когда я пытался создать пользователя, я получил следующее сообщение об ошибке. Прямое назначение на прямую сторону множества "многие ко многим" запрещено. Вместо этого используйте groups.set().

# views.py

from django.contrib.auth.models import User
from rest_framework import viewsets
from app.serializers import UserSerializer

# Create your views here.


class UserViewSet(viewsets.ModelViewSet):
    queryset = User.objects.all()
    serializer_class = UserSerializer


# serializers.py

from django.contrib.auth.models import User
from rest_framework import serializers


class UserSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = '__all__'
        extra_kwargs = {'password': {'write_only': True, 'required': False}}

    def create(self, validated_data):
        print(validated_data)
        user = User.objects.create_user(**validated_data)
        return user

# urls.py

from django.urls import path, include
from rest_framework import routers
from app import views
from rest_framework.authtoken.views import obtain_auth_token

router = routers.SimpleRouter()
router.register(r'users', views.UserViewSet)
urlpatterns = [
    path('auth/', obtain_auth_token),
]
urlpatterns += router.urls

Я вставляю только запись пользователя, нет никакой внешней таблицы или отношения "многие-ко-многим". Не уверен, почему система выбрасывает эту ошибку.

Прилагается скриншот почтальона. enter image description here

Вернуться на верх