I am a Flask developer using Django for a project I am working on... I am using rest framework in django because I am using firebase for auth and found some good advice on how to incorporate it using rest framework
Problem is when I try to create a supplier for a user, you can see the error response from Postman below...
Request to: http://localhost:8000/pm/createsupplier/3/
Request body:
{
"supplier": {"name": "Donald Duck", "phone": 111, "email": "donald@yahoo.com"}
}
Request response:
{
"email": "kbess86@gmail.com"
}
And the supplier is not created
models.py:
class UserProfile(models.Model):
user = models.OneToOneField(User,on_delete=models.CASCADE)
bio = models.CharField(max_length=200)
email = models.CharField(max_length=200)
class Supplier(models.Model):
user = models.ForeignKey(UserProfile, on_delete=models.CASCADE)
name = models.CharField(max_length=200)
phone = models.IntegerField()
email = models.EmailField()
views.py:
class createsuppliers(viewsets.ModelViewSet):
queryset = UserProfile.objects.all()
serializer_class = CreateSupplierSerializer
lookup_field = 'user'
serializers.py:
class CreateSupplierSerializer(serializers.ModelSerializer):
name = serializers.CharField(required=False, allow_blank=True, max_length=100)
email = serializers.CharField(required=False, allow_blank=True, max_length=100)
phone = serializers.IntegerField(required=False)
def create(self, instance, validated_data):
supplier_data = validated_data.pop('supplier')
supplier = Supplier.objects.create(user=instance, **supplier_data)
return supplier
class Meta:
model=Supplier
fields=['name','email','phone']