Я хочу пояснити наведену документацію django-rest-frameworkщодо створення об'єкта моделі. Поки що я виявив, що існує 3 підходи щодо того, як обробляти такі події.
Метод серіалізатора
create(). Ось документаціяclass CommentSerializer(serializers.Serializer): def create(self, validated_data): return Comment.objects.create(**validated_data)Метод ModelViewset
create(). Документаціяclass AccountViewSet(viewsets.ModelViewSet): queryset = Account.objects.all() serializer_class = AccountSerializer permission_classes = [IsAccountAdminOrReadOnly]Метод ModelViewset
perform_create(). Документаціяclass SnippetViewSet(viewsets.ModelViewSet): def perform_create(self, serializer): serializer.save(owner=self.request.user)
Ці три підходи важливі залежно від середовища вашої програми.
Але КОЛИ нам потрібно використовувати кожну create() / perform_create()функцію ??. З іншого боку, я знайшов деяку інформацію про те, що для одного запиту на публікацію були використані два методи створення - modelviewset create()та serializer create().
Будемо сподіватися, що хтось поділиться своїми знаннями для пояснення, і це, безумовно, буде дуже корисним у моєму процесі розробки.
create(self, validated_data)серіалізатора in, це означає, що він зосереджений на логіці перевірки даних? і багато іншого, це може допомогти повернути дані даного серіалізатора назад у відповідь, чи не так?