Korzystanie django-rest-ramowej 3 i django 1,8Django ramy reszta utworzyć użytkownika z hasłem
Próbuję utworzyć użytkownika przy użyciu django-rest-ramową ModelViewSerializer. Problem polega na tym, że domyślna metoda objects.create używana przez DRF pozostawia hasło jako zwykły tekst.
Problem polega na tym, że metoda tworzenia serialera DRF używa metody objects.create
querysets/#create zamiast metody objects.create_user
.
kod z serializers.py linia 775
instance = ModelClass.objects.create(**validated_data)
Co jest najlepszym rozwiązaniem dla tego? Mogę przesłonić metodę serializer.create, aby użyć obiektu objects.user_create zamiast objects.create, ale nie jest to właściwe rozwiązanie.
reszta kodu:
from django.contrib.auth.models import User
from rest_framework import viewsets
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('username', 'email','password')
write_only_fields = ('password',)
class UserViewSet(viewsets.ModelViewSet):
queryset = User.objects.all()
serializer = UserSerializer()
Dlaczego nie wydaje się prawo do ciebie? Myślę, że pójdę tą drogą. Wyszukałem trochę i przynajmniej znalazłem ten wpis SO (inne pytanie), ale nadpisanie 'create()' jest używane do tego celu w zaakceptowanej odpowiedzi. http: // stackoverflow.com/a/27763502/870769 – sthzg