Django-resto-quadro 3 e Django 1.8django quadro riposo creare utente con una password
Sto cercando di creare un utente usando django-resto-quadro ModelViewSerializer. il problema è che il metodo objects.create predefinito usato da DRF lascia la password come testo normale.
Il problema è che il metodo di creazione del serializzatore DRF utilizza il metodo objects.create
querysets/#create anziché utilizzare il metodo objects.create_user
.
codice serializers.py linea 775
instance = ModelClass.objects.create(**validated_data)
Qual è la soluzione migliore per questo? Posso sovrascrivere il metodo serializer.create per usare objects.user_create invece di objects.create ma non mi sembra la soluzione giusta.
resto del codice:
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()
Perché non è vero mi sembra giusto per te? Penso che andrei in quel modo. Ho cercato un po 'e ho trovato questo post SO (domanda diversa), ma sovrascrivendo 'create()' è usato a tale scopo nella risposta accettata. http: // StackOverflow.it/a/27763502/870769 – sthzg