при создании филиала я хочу добавить идентификатор компании (внешний ключ) в соответствии с компанией запрашиваемого пользователя. В основном я хочу добавить идентификатор компании только на уровне сериализатора.
Вот моя функция создания branchViewset:
def create(self, request, *args, **kwargs):
serializer = self.get_serializer(data=request.data, context=context)
if serializer.is_valid(raise_exception=True):
serializer.save(company=request.user.owner)
, а вот мой сериализатор:
class CreateBranchSerializer(serializers.ModelSerializer):
user = serializers.PrimaryKeyRelatedField(queryset=User.objects.all())
def validate(self, attrs):
try:
user = self.context['request'].user
except:
raise CustomAPIException(status_code=status.HTTP_401_UNAUTHORIZED,
error_code='1006')
return attrs
Но при создании ветки я получаю ошибку:
company: field is required
Как мне решить эту проблему?