Пиши через Views,
В сереалайзере В выдели поля толко для записи:
write_only_fields =(' .....', )
Передай реквест в view, валидируй данные
serializer = ModelBSerializater(data = request.data)
if serializer.is_valid(raise_exception=True): # Валидируеш приходыне данные
req_id = serializer.data['incoming_id'] # Вытаскиваеш id входных данных
incoming_data = serializer.data['incom_data1'] # Вытаскиваеш остальные данные
...............
try:
object = ModelA.objects.get(id =req_id ) #Находим обьект в модели А
except ModelA.DoesNotExist:
pass
ModelB.objects.create(modela = object, , data_b = incoming_data) # Записывает данные в модель В
return Response({'OK': 'Creasted'}, status=status.HTTP_201_CREATED) # Ответ
Пробуй. Если правильно понял вопрос.