Reputation: 27
How I can directly add user which already login, when I create company?
Models:
class Company(models.Model):
name = models.CharField(max_length=255)
class User(AbstractBaseUser):
company = models.ForeignKey(Company, on_delete=models.CASCADE,
blank=True, null=True
View:
class CompanySetupView(ModelViewSet):
queryset = Company.objects.all()
permission_classes = [IsAuthenticated]
serializer_class = CompanySetupSerializer
Serializer:
class CompanySetupSerializer(serializers.ModelSerializer):
class Meta:
model = Company
fields = '__all__'
Upvotes: 1
Views: 97
Reputation: 370
Can you try add this method to your serializer And test it ?
def create(self, validated_data):
request = self.context['request']
user = request.user
company = super().create(validated_data)
user.company = company
user.save()
return company
Upvotes: 1