2017-02-05 2 views
0

ich die Schale mit, dies zu verwirklichen:Wie erstellt man ein Benutzermodellobjekt mit Django REST Framework?

serializer = UserSerializer(data={'first_name':'brody', 'username':'brodyboy'}) 
serializer.is_valid() // returns True 
serializer.save() // I save it, assuming it should create a new User object. 

Wenn ich überprüfen, um zu sehen, die User Objekte, die ich gemacht habe:

User.objects.all() // <QuerySet [ ]> -- returns nothing. 

models.py:

class User(models.Model): 
    first_name = models.CharField(max_length=20)  
    username = models.CharField(primary_key=True, max_length=20) 
    age = models.IntegerField(default=19) 

    def __str__(self): 
     return self.first_name 

Serializers.py

class UserSerializer(serializers.ModelSerializer): 
    class Meta: 
     model = User 
     fields = ('first_name', 'username') 

    def create(self, validated_data): 
     return User.objects.create(**validated_data) 

EDIT: kein Duplikat so Bargeld mich ousside howbow dah

UPDATE: alles, was ich war entfernen Sie die create Methode zu tun hatte. Aus irgendeinem Grund hat mich diese Methode daran gehindert, mein Benutzerobjekt in der Datenbank zu speichern.

+2

Was gibt 'serializer.save()' zurück? – dnit13

+0

Mögliches Duplikat von [django rest framework Benutzer mit Passwort erstellen] (http://stackoverflow.com/questions/29746584/django-rest-framework-create-user-with-password) – yedpodtrzitko

+0

@ dnit13 gibt es zurück ' ', was ich seltsam finde, sollte das Objekt auch nicht zur Benutzerdatenbank hinzugefügt werden? –

Antwort

0

Ich entfernte die create Methode und jetzt kann ich Benutzer zu meiner Datenbank hinzufügen.

Verwandte Themen