Я хочу выполнить вызов POST, который создает «группу». Предположим, что все «люди» будут существовать. Даже если это не так, ошибка не проблема.
class Group(models.Model):
title = models.CharField(max_length=70)
persons = models.ManyToManyField(to=Person, blank=True)
file = models.FileField(upload_to=file_location, null=True, blank=True)
class GroupSerializer(serializers.ModelSerializer):
persons = serializers.PrimaryKeyRelatedField(many=True, queryset=Person.objects.all())
class Meta:
model = Group
fields = '__all__'
Если я отправлю JSON вроде
{
"title": "Drama Club",
"persons": [1,2,3]
}
, он будет работать. Но поскольку я не могу загрузить файл, я использую FORM-DATA.
title: Drama Club
persons: [1,2,3]
file: <whatever the format is>
Вот и проблема. ЭТО НЕ РАБОТАЕТ. Он возвращает эту ошибку
{
"persons": [
"Incorrect type. Expected pk value, received str."
]
}
Даже если я удалю все остальное и просто отправлю persons: [1,2,3]
как данные формы, он вернет ту же ошибку. Я действительно не могу понять это поведение. (Я использую POSTMAN, чтобы проверить это)