【发布时间】:2020-03-02 05:52:40
【问题描述】:
我正在使用 Django 2.2 和 Django Rest Framework 3.7。 我有这样的课:
class UserViewSet(viewsets.ModelViewSet):
permission_classes = [AllowAny]
serializer_class = UserSerializer
queryset = User.objects.all()
def update(self, request, *args, **kwargs):
import pdb;pdb.set_trace()
我已经像这样创建了 UserSerializer:
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('id', 'email', 'name', 'password')
write_only_fields = ('password',)
read_only_fields = ('id',)
def create(self, validated_data):
user = User.objects.create(
email=validated_data['email'],
name=validated_data['name'],
)
user.set_password(validated_data['password'])
user.save()
return user
def update(self, instance, validated_data):
print('lalala from serialzier')
import pdb;pdb.set_trace()
instance.username = validated_data['username']
instance.save()
return instance
仅显示允许的方法 - 允许:GET、POST、HEAD、OPTIONS
我想知道为什么我无法执行 PUT、DELETE、RETRIEVE 等操作。默认情况下,根据文档使用 ModelViewset 支持这些。
在显示的代码中,序列化程序的 update() 和 views.py update() 方法都没有被调用。任何提示将不胜感激。
【问题讨论】:
标签: django rest django-rest-framework