When you need to check and verify variables depending on each other, the right way is to do it in a "clean" method because if the "e_version_exists" field follows after the "file" field in the model field list, your "clean" method won't work correctly.