do not insert duplicate HasOne, fixes #46

I don't know why Field looks so messy, probably my editor fault? (are you using tabs instead of spaces?

The only changed lines in Field are line 67 and lines 467-473