1
เมื่อใดควรใช้ Serializer ของ create () และสร้าง () perform_create () ของ ModelViewset
ฉันต้องการชี้แจงเอกสารที่ระบุdjango-rest-frameworkเกี่ยวกับการสร้างวัตถุแบบจำลอง จนถึงตอนนี้ฉันพบว่ามี 3 แนวทางในการจัดการกับเหตุการณ์ดังกล่าว create()วิธีการของ Serializer นี่คือเอกสาร class CommentSerializer(serializers.Serializer): def create(self, validated_data): return Comment.objects.create(**validated_data) create()วิธีModelViewset เอกสารประกอบ class AccountViewSet(viewsets.ModelViewSet): queryset = Account.objects.all() serializer_class = AccountSerializer permission_classes = [IsAccountAdminOrReadOnly] perform_create()วิธีModelViewset เอกสารประกอบ class SnippetViewSet(viewsets.ModelViewSet): def perform_create(self, serializer): serializer.save(owner=self.request.user) แนวทางทั้งสามนี้มีความสำคัญขึ้นอยู่กับสภาพแวดล้อมการใช้งานของคุณ แต่เราต้องใช้แต่ละcreate() / perform_create()ฟังก์ชันเมื่อใด ??. บนมืออื่น ๆ ผมพบว่าบัญชีของบางอย่างที่สองสร้างวิธีการที่ถูกเรียกร้องให้มีการโพสต์คำขอเดียว modelviewset ของcreate()และของ create()serializer หวังว่าทุกคนจะแบ่งปันความรู้เพื่ออธิบายและสิ่งนี้จะเป็นประโยชน์อย่างมากในกระบวนการพัฒนาของฉัน