Serializer 序列化器生成post和get请求简单示例

[复制链接]
查看: 61   回复: 0

340

主题

340

帖子

1933

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1933
2025-4-17 13:08:03   显示全部楼层   阅读模式  
1.png
model
from django.db import models

class User(models.Model):
    username = models.CharField(max_length=150, unique=True)
    email = models.EmailField(unique=True)
    password = models.CharField(max_length=128)
    registration_date = models.DateTimeField(auto_now_add=True)
    user_group_id = models.IntegerField()

    def __str__(self):
        return self.username


序列化器
from rest_framework import serializers
from app1.models.user_models import User

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

    def create(self, validated_data):
        password = validated_data.pop('password')
        user = User(**validated_data)
        user.password = make_password(password)
        user.save()
        return user
请求示例
增查 调用
class UserListCreateView(generics.ListCreateAPIView):
    queryset = User.objects.all()
    serializer_class = UserSerializer
2.png

删改 调用
class classIndexUpdateView(generics.RetrieveUpdateDestroyAPIView):
    queryset = classIndex.objects.all()
    serializer_class = ClassIndexSerializer
    permission_classes = [permissions.AllowAny]  # 权限设置



回复

使用道具 举报

您需要登录后才可以回帖   登录 立即注册

高级模式

南通谢凡软件科技有限公司