 so i may still be being   dumb  but  let s say you have created a project with a parent id  you then call update project to update the description  it should be possible that the body is just  i e  you should only have to include the fields you are updating  description my text  however  with the code as written  that would not work  since the code would claim you are changing the parent id  if the code  however  was written like this if  parent id  in tenant and tenant get  parent id parent id raise exception  then such an update would work  it would also ensure that if some one tried to explicitly set the parent id to none for a project that already had a parent id  e g parent id none then this would fail as required 