when the field can be a contact, it's because it already has an other pointer to the partner like partner_invoice_id in sale.order. Or, it's because it doesn't matter at all in the existing codebase to have a company here: for instance the work address of an employee.
So I think in practice, we don't need to do anything: don't had a contact_id field and don't do anything in the view in these cases.
@Nicolas,
when the field can be a contact, it's because it already has an other pointer to the partner like partner_invoice_id in sale.order. Or, it's because it doesn't matter at all in the existing codebase to have a company here: for instance the work address of an employee.
So I think in practice, we don't need to do anything: don't had a contact_id field and don't do anything in the view in these cases.
Do you agree?