Я сделал модель StudyGroup с пользователями.Если я хочу создать StudyGroup с CreateAPIView, какие данные я должен опубликовать для создания модели StudyGroup?
from django.db import models
from django.contrib.auth.models import User
class StudyGroup(models.Model):
class Meta:
ordering = ('created',)
created = models.DateTimeField(auto_now_add=True)
name = models.CharField(max_length=20)
users = models.ManyToManyField(User, related_name='study_groups')
from rest_framework import serializers
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('id', 'username', 'study_groups')
class StudyGroupSerializer(serializers.ModelSerializer):
users = UserSerializer(many=True)
class Meta:
model = StudyGroup
fields = ('id', 'name', 'users')
from rest_framework import generics, permissions
from django.contrib.auth.models import User
class StudyGroupCreate(generics.CreateAPIView):
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
queryset = StudyGroup.objects.all()
serializer_class = StudyGroupSerializer
urlpatterns = [
path('create_study_group/', views.StudyGroupCreate.as_view()),
]
Отправленные данные ("name": "creation_group" было в теле, и auth был в порядке)
"users": [2, 3] // 2, 3 is userid in DB
"users": 2
"users": ["A", "B"] // A, B is username in DB
"users": "A"
Статус ответа = 400
{
"users": [
"This field is required."
]
}