I don't have forms.py since I'm creating only the endpoints using rest framework. I've done it earlier and it has worked but earlier the foreign key was to refer the default User model but now I have customized User model by extending AbstractBaseUser.
uploads/views.py
class UploadView(APIView):
def post(self, request, format=None):
serializer = UploadSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
uploads/serializers.py
class UploadSerializer(serializers.ModelSerializer):
class Meta:
model = Upload
fields = ('upload_file', 'upload_date')
users/models.py
class User(AbstractBaseUser):
user_id = models.AutoField(primary_key=True)
username = models.CharField(max_length=50, unique=True)
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
company_name = models.CharField(max_length=100)
email = models.EmailField(max_length=150, unique=True)
is_active = models.BooleanField(default=True)
is_superuser = models.BooleanField(default=False)
objects = UserManager()
USERNAME_FIELD = 'username'
REQUIRED_FIELDS = ['first_name', 'last_name', 'company_name', 'email']
def get_full_name(self):
return self.first_name + self.last_name