rocky raccoon
rocky raccoon

Reputation: 544

How to create a User model object using Django REST framework?

I'm using the shell to make this happen:

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.

When I check to see the User objects I've made:

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: not a duplicate so cash me ousside how bow dah

UPDATE: all I had to do was remove the create method. For some reason having that method prevented me from saving my User object to the database.

Upvotes: 0

Views: 1409

Answers (1)

rocky raccoon
rocky raccoon

Reputation: 544

I removed the create method and now I'm able to add Users to my database.

Upvotes: 1

Related Questions